address static method
String?
address({
- required String address,
- String? title = "Address",
- String? emptyMessage,
- bool trimWhitespace = true,
- List<
String> ? existingAddresses, - String? alreadyExistsMessage,
- bool isRequired = true,
- int minLength = 10,
- int maxLength = 200,
- bool requireStreetNumber = false,
- bool requireStreetName = true,
- bool requireCity = false,
- bool requireCountry = false,
- bool allowSpecialChars = true,
- bool allowNumbers = true,
- bool allowLetters = true,
- List<
String> ? forbiddenWords, - List<
String> ? requiredWords, - String? minLengthMessage,
- String? maxLengthMessage,
- String? missingStreetNumberMessage,
- String? missingStreetNameMessage,
- String? missingCityMessage,
- String? missingCountryMessage,
- String? invalidSpecialCharsMessage,
- String? invalidNumbersMessage,
- String? invalidLettersMessage,
- String? forbiddenWordsMessage,
- String? requiredWordsMessage,
Validates physical addresses with comprehensive formatting and content rules.
Provides detailed address validation including length constraints, component requirements (street number, street name, city, country), character type restrictions, and content filtering.
Parameters:
address: The address string to validatetitle: Field name for error messages (default: "Address")trimWhitespace: Whether to trim whitespace (default: true)isRequired: Whether the field is required (default: true)minLength,maxLength: Length constraints (default: 10-200)requireStreetNumber,requireStreetName,requireCity,requireCountry: Component requirementsallowNumbers,allowLetters,allowSpecialChars: Character type controlsforbiddenWords,requiredWords: Content filteringexistingAddresses: List of existing addresses to check against- Various message parameters for customizing error messages Validates an address with comprehensive checks for structure and content.
Parameters:
address: The address string to validatetitle: Field title for error messages (default: 'Address')emptyMessage: Custom empty validation messagetrimWhitespace: Whether to trim whitespace (default: true)existingAddresses: List of existing addresses for uniqueness checkalreadyExistsMessage: Custom duplicate address messageisRequired: Whether empty values are allowed (default: true)minLength: Minimum allowed length (default: 10)maxLength: Maximum allowed length (default: 200)requireStreetNumber: Whether to require a street number (default: false)requireStreetName: Whether to require a street name (default: true)requireCity: Whether to require a city name (default: false)requireCountry: Whether to require a country (default: false)allowSpecialChars: Whether special chars are allowed (default: true)allowNumbers: Whether numbers are allowed (default: true)allowLetters: Whether letters are allowed (default: true)forbiddenWords: List of prohibited words/phrasesrequiredWords: List of required words/phrasesminLengthMessage: Custom minimum length messagemaxLengthMessage: Custom maximum length messagemissingStreetNumberMessage: Custom missing street number messagemissingStreetNameMessage: Custom missing street name messagemissingCityMessage: Custom missing city messagemissingCountryMessage: Custom missing country messageinvalidSpecialCharsMessage: Custom invalid special chars messageinvalidNumbersMessage: Custom invalid numbers messageinvalidLettersMessage: Custom invalid letters messageforbiddenWordsMessage: Custom forbidden words messagerequiredWordsMessage: Custom required words message
Returns null if valid, or an error message if invalid.
Example:
final error = SahihValidator.address(
address: '123 Main St, Springfield',
requireCity: true,
requireCountry: true
);
Implementation
static String? address({
required String address,
String? title = "Address",
String? emptyMessage,
bool trimWhitespace = true,
List<String>? existingAddresses,
String? alreadyExistsMessage,
bool isRequired = true,
int minLength = 10,
int maxLength = 200,
bool requireStreetNumber = false,
bool requireStreetName = true,
bool requireCity = false,
bool requireCountry = false,
bool allowSpecialChars = true,
bool allowNumbers = true,
bool allowLetters = true,
List<String>? forbiddenWords,
List<String>? requiredWords,
String? minLengthMessage,
String? maxLengthMessage,
String? missingStreetNumberMessage,
String? missingStreetNameMessage,
String? missingCityMessage,
String? missingCountryMessage,
String? invalidSpecialCharsMessage,
String? invalidNumbersMessage,
String? invalidLettersMessage,
String? forbiddenWordsMessage,
String? requiredWordsMessage,
}) {
return validateAddress(
address: address,
emptyMessage: emptyMessage,
trimWhitespace: trimWhitespace,
existingAddresses: existingAddresses,
alreadyExistsMessage: alreadyExistsMessage,
isRequired: isRequired,
minLength: minLength,
maxLength: maxLength,
requireStreetNumber: requireStreetNumber,
requireStreetName: requireStreetName,
requireCity: requireCity,
requireCountry: requireCountry,
allowSpecialChars: allowSpecialChars,
allowNumbers: allowNumbers,
allowLetters: allowLetters,
forbiddenWords: forbiddenWords,
requiredWords: requiredWords,
minLengthMessage: minLengthMessage,
maxLengthMessage: maxLengthMessage,
missingStreetNumberMessage: missingStreetNumberMessage,
missingStreetNameMessage: missingStreetNameMessage,
missingCityMessage: missingCityMessage,
missingCountryMessage: missingCountryMessage,
invalidSpecialCharsMessage: invalidSpecialCharsMessage,
invalidNumbersMessage: invalidNumbersMessage,
invalidLettersMessage: invalidLettersMessage,
forbiddenWordsMessage: forbiddenWordsMessage,
requiredWordsMessage: requiredWordsMessage,
title: title,
);
}