✨ Enhancements
- 🆕
positive()
,negative()
,positiveOrZero()
&negativeOrZero()
introduced toNumericConstraintBase
(#189) Thanks to @DiegoKrupitza - 🆕 Additional constraints (#179) Thanks to @duponter
am.ik.yavi.core.Constraint#equalTo
am.ik.yavi.core.Constraint#oneOf
am.ik.yavi.constraint.CharSequenceConstraint#uuid
- Deprecate
clone
in favor of copy constructor inValidatorBuilder
. (#187) Thanks to @DiegoKrupitza - 🆕 Introduce
lazy()
method to Arguments Validators and addthrowIfInvalid()
inValidation
- Fully migrated test from JUnit4 to JUnit5. (#194) Thanks to @DiegoKrupitza
- 🆕
startsWith(String)
&endsWith(String)
introduced toCharSequenceConstraint
(#193) Thanks to @DiegoKrupitza - 🆕 Added constraints for Temporal types (
LocalDate
,LocalTime
,LocalDateTime
,OffsetDateTime
,ZonedDateTime
andInstant
). (#195) Thanks to @DiegoKrupitzapast()
past(Clock)
pastOrPresent()
pastOrPresent(Clock)
future()
future(Clock)
futureOrPresent()
futureOrPresent(Clock)
after(Supplier<V>)
afterOrEqual(Supplier<V>)
before(Supplier<V>)
beforeOrEqual(Supplier<V>)
between(Supplier<V>, Supplier<V>)
fieldPredicate(TemporalField, LongPredicate)
💣 Breaking Changes
- Rename
ValidatorSubset
->Validatable
andNestedValidatorSubset
->NestedValidator
(#190) - Drop deprecated methods
am.ik.yavi.arguments.ArgumentNValidator#validateArgs
am.ik.yavi.arguments.ArgumentNValidator#validateAndThrowIfInvalid
am.ik.yavi.core.Validator#validateToEither
am.ik.yavi.fn.Either#doOnRight
am.ik.yavi.fn.Either#doOnLeft
am.ik.yavi.fn.Validation#mapErrorsF