cep method

VString cep({
  1. String? message,
  2. ValidationMode mode = ValidationMode.unformatted,
})

Ensures that the string is a valid Brazilian postal code (CEP).

This method adds a CEPValidator to verify whether the given string follows the correct Brazilian postal code (CEP) format, which can be:

  • Formatted: XXXXX-XXX (e.g., 01001-000)
  • Unformatted: XXXXXXXX (e.g., 01001000)

Validation Rules:

  • Must contain exactly 8 numeric digits.
  • Supports both formatted (XXXXX-XXX) and unformatted (XXXXXXXX) input.
  • Cannot contain only repeated digits (e.g., 00000-000 is invalid).

Example

final validator = v.string().cep();

print(validator.validate("01001-000")); // true (valid, formatted)
print(validator.validate("01001000"));  // true (valid, unformatted)
print(validator.validate("00000-000")); // false (invalid, repeated digits)
print(validator.validate("abcdefgh"));  // false (invalid, contains letters)
print(validator.validate("1234"));      // false (invalid, too short)
print(validator.validate(null));        // false (invalid, required by default)

Validation Mode

You can specify whether the CEP should be validated in formatted or unformatted mode.

final formattedValidator = v.string().cep(mode: ValidationMode.formatted);

print(formattedValidator.validate("01001-000")); // true (valid)
print(formattedValidator.validate("01001000"));  // false (invalid, missing formatting)

final unformattedValidator = v.string().cep(mode: ValidationMode.unformatted);

print(unformattedValidator.validate("01001000")); // true (valid)
print(unformattedValidator.validate("01001-000")); // true (still valid)

Parameters

  • message: (optional) A custom validation message.
  • mode: (optional) Specifies whether the validation should require formatting.

Returns

The current VString instance with the cep validation applied.

Implementation

VString cep({
  String? message,
  ValidationMode mode = ValidationMode.unformatted,
}) {
  return add(CEPValidator(message: message ?? _message.cep, mode: mode));
}