vAfter function

DraftModeValidator<DateTime> vAfter(
  1. dynamic compare
)

Returns a validator that requires DateTime values to be after compare.

The compare argument may be a literal value, another attribute readable from the validation context, or a callback that resolves the comparison lazily.

Implementation

DraftModeValidator<DateTime> vAfter(dynamic compare) {
  return _typedValidator<DateTime>(
    type: DraftModeValidatorType.after,
    payload: compare,
    delegate: (DraftModeValidationValueContext? context, DateTime? value) {
      final compareValue =
          compare is Function ? compare() : context?.read(compare) ?? compare;
      if (value == null || compareValue == null) {
        return null;
      }
      if (compareValue is! DateTime) {
        return null;
      }
      if (!value.isAfter(compareValue)) {
        return DraftModeValidationAfter(compareValue);
      }
      return null;
    },
  );
}