isDate function

IValidator isDate({
  1. String? message,
})

Checks whether the given value is a valid DateTime formatted String

Usage Examples:

final dateValidator = isDate();
dateValidator.validate("2023-12-25");           // Valid
dateValidator.validate("2023-12-25T10:30:00Z"); // Valid
dateValidator.validate("not-a-date");           // Invalid
dateValidator.validate("25-12-2023");           // Invalid

// Combined with other validations
final eventValidator = eskema({
  'title': $isString,
  'date': all([$isString, isDate()]),
  'description': $isString.optional(),
});

Implementation

IValidator isDate({String? message}) => validator(
      (value) => DateTime.tryParse(value) != null,
      (value) => Expectation(
        message: message ?? 'a valid DateTime formatted String',
        value: value,
        code: ExpectationCodes.valueFormatInvalid,
        data: {'format': 'date_time'},
      ),
    );