validate method
FutureOr<ValidationResult?>
validate(
- BuildContext context,
- T? value,
- FormValidationMode lifecycle
override
Validates the given value and returns a validation result.
This method performs the actual validation logic and should return null if the value is valid, or a ValidationResult describing the validation error if invalid.
Parameters:
context(BuildContext): The build context for localization accessvalue(T?): The value to validate (may be null)lifecycle(FormValidationMode): The current validation trigger mode
Returns a FutureOr<ValidationResult?> that is null for valid values
or contains error information for invalid values.
Implementation
@override
FutureOr<ValidationResult?> validate(
BuildContext context, T? value, FormValidationMode lifecycle) {
var result = predicate(value);
if (result is Future<bool>) {
return result.then((value) {
if (!value) {
return InvalidResult(message, state: lifecycle);
}
return null;
});
} else if (!result) {
return InvalidResult(message, state: lifecycle);
}
return null;
}