Past class
A constraint that requires a DateTime before now.
Use it for birthdays, the dates of past events, payment dates. A
DateTime without a time of day (DateTime(2026, 5, 1), what
DateTime.parse('2026-05-01') gives) is a date compared by day, like
Java's LocalDate: today is not in the past. Other values are compared
to the instant. "Now" comes from the validator's ClockProvider, so
tests can fix it. null passes. On a value that is not a DateTime
the generator fails the build and the validator throws an
UnexpectedTypeException.
// A birthday cannot be today or later.
@Introspected()
class Person {
@Past()
DateTime? birthday;
}
Spring (Java):
class Person {
@Past
private LocalDate birthday;
}
- Inheritance
-
- Object
- Constraint
- Past
Constructors
Properties
-
attributes
→ Map<
String, Object?> -
The settings of the constraint by name, such as
{'max': 20, 'min': 0}: they fill the{max}placeholders of messages and, sorted by name, become the arguments{1},{2}, ... of field errors. Empty by default; override it when a custom constraint has settings.no setterinherited - defaultMessage → String
-
The text of a violation when message is not set, with the same
placeholders, such as
size must be between {min} and {max}.no setteroverride -
groups
→ List<
Type> -
The validation groups the constraint belongs to, such as
[OnUpdate]; it is only checked when one of them is asked for. Empty means Default.finalinherited - hashCode → int
-
The hash code for this object.
no setterinherited
- message → String?
-
The text of a violation instead of defaultMessage;
nullkeeps the default.finalinherited - name → String
-
The error code of a violation, such as
NotBlank: the start of the message codes (NotBlank.signup.name, ...,NotBlank) and the Jakarta name of the constraint. Custom constraints usually return their class name.no setteroverride - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
appliesTo(
List< Type> requested) → bool -
Whether the constraint is checked when a validation asks for the
requestedgroups: when one of its groups is requested.inherited -
checkParameters(
) → void -
Throws a ConstraintDeclarationException when the constraint's own
settings are invalid:
Size(min: -1),min > max, a malformed regular expression. Does nothing by default.inherited -
interpolate(
String template) → String -
templatewith its{attribute}placeholders replaced by the values of attributes; other placeholders and${...}expressions stay, and the escapes\{,\},\$,\\become the literal characters.inherited -
interpolatedMessage(
) → String -
message, or defaultMessage, with the
{attribute}placeholders filled in; message keys and${...}expressions stay, since only the validator can resolve them.inherited -
isValid(
Object? value) → bool -
Whether
valuesatisfies the constraint; the method a custom constraint implements.override -
isValidWithContext(
Object? value, ConstraintValidatorContext context) → bool -
Whether
valuesatisfies the constraint, with access to the validationcontext; the methodBeanValidatorcalls. By default it returns isValid.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
supports(
Object value) → bool -
Whether the constraint can check a value of this type at all;
valueis nevernull.@Sizesupports strings, collections and maps, not anint.override -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited