isDateField static method

ValidatorEvent isDateField({
  1. bool isRequired = true,
  2. bool checkUtc = false,
})

Implementation

static ValidatorEvent isDateField({
  bool isRequired = true,
  bool checkUtc = false,
}) {
  return (value) async {
    if ((value == null || value.toString().isEmpty)) {
      return FieldValidateResult(
        success: !isRequired,
        error: isRequired ? 'error.field.required' : '',
      );
    }

    var date = DateTime.tryParse(value.toString());
    if (date == null || date.year.toString().length != 4) {
      return FieldValidateResult(
        success: false,
        error: 'error.field.date',
      );
    }

    if (checkUtc && !date.isUtc) {
      return FieldValidateResult(
        success: false,
        error: 'error.field.date',
      );
    }

    return FieldValidateResult(success: true);
  };
}