validator method

  1. @override
PasswordError? validator(
  1. String value
)
override

A function that must return a validation error if the provided value is invalid and null otherwise.

Implementation

@override
PasswordError? validator(String value) {
  if (value.trim().isEmpty) return PasswordError.empty;
  if (value.length < minLength) return PasswordError.tooShort;
  if (requireUppercase && !_uppercase.hasMatch(value)) {
    return PasswordError.missingUppercase;
  }
  if (requireLowercase && !_lowercase.hasMatch(value)) {
    return PasswordError.missingLowercase;
  }
  if (requireNumber && !_number.hasMatch(value)) {
    return PasswordError.missingNumber;
  }
  if (requireSpecialChar && !_specialChar.hasMatch(value)) {
    return PasswordError.missingSpecialChar;
  }

  return null;
}