onValidate method

  1. @override
ValidationResult onValidate(
  1. FieldController<DateTime> controller
)
override

Implementation

@override
ValidationResult onValidate(FieldController<DateTime> controller) {
  bool isValid = true;
  if (controller.value != null) {
    final today = DateTime.now();
    int age = today.year - controller.value!.year;

    if (today.month < controller.value!.month ||
        (today.month == controller.value!.month &&
            today.day < controller.value!.day)) {
      age--;
    }
    isValid = age <= maxAge;
  }
  return ValidationResult(
    key: GenericValidators.maxAge.name,
    message: message,
    isValid: isValid,
  );
}