validate method

  1. @override
String? validate(
  1. BuildContext context,
  2. String fieldName,
  3. String? value
)
override

Function to validate the form input. It takes a string and returns an String error message if the input is invalid or null if the input is valid.

Implementation

@override
String? validate(
  BuildContext context,
  String fieldName,
  String? value,
) {
  _longErrorMessage = null;
  _shortErrorMessage = null;

  if (value != null && value.isNotEmpty) {
    final l10n = context.l10n;

    _isValid = regex.hasMatch(value);
    if (!_isValid) {
      _shortErrorMessage = l10n.invalidMessage;
      if (examples.isEmpty) {
        _longErrorMessage = l10n.invalidPattern;
      } else {
        _longErrorMessage = l10n.invalidPatternWithExamples(
          examples.join(', '),
        );
      }
    }
  } else {
    _isValid = true;
  }
  return _shortErrorMessage;
}