validate method
Implementation
@override
ValidationResult validate() {
if (isOptional && value == null) {
return ValidationResult(isValid: true);
}
if (!isOptional && value == null) {
return ValidationResult(
isValid: false, message: getMessage('missing $propertyName'));
}
if (value is! String) {
return ValidationResult(isValid: false, message: invalidStringMessage);
}
if (!isOptional && value.toString().isEmpty) {
return ValidationResult(isValid: false, message: emptyStringMessage);
}
if (contains != null &&
!Utils.contains(value, contains ?? '', ignoreCase: ignoreCase)) {
return ValidationResult(isValid: false, message: containsInvalidMessage);
}
if (notContains != null &&
Utils.contains(value, notContains ?? '', ignoreCase: ignoreCase)) {
return ValidationResult(
isValid: false, message: notContainsInvalidMessage);
}
if (isEmail && !validators.isEmail(value)) {
return ValidationResult(isValid: false, message: notEmailInvalidMessage);
}
if (length != null && !validators.isLength(value, length ?? 0, length)) {
return ValidationResult(
isValid: false, message: incorrectLengthInvalidMessage);
}
if (maxLen != null && !validators.isLength(value, 0, maxLen)) {
return ValidationResult(
isValid: false, message: incorrectMaxLengthInvalidMessage);
}
if (minLen != null && !validators.isLength(value, minLen ?? 0)) {
return ValidationResult(
isValid: false, message: incorrectMinLengthInvalidMessage);
}
if (isUrl && !validators.isURL(value)) {
return ValidationResult(isValid: false, message: incorrectUrlMessage);
}
if (matches != null && !validators.matches(value, matches)) {
return ValidationResult(isValid: false, message: incorrectMatchMessage);
}
if (isIn.isNotEmpty && !(validators.isIn(value, isIn) ?? false)) {
return ValidationResult(isValid: false, message: incorrectIsInMessage);
}
if (isAlpha && !validators.isAlpha(value)) {
return ValidationResult(isValid: false, message: incorrectIsAlphaMessage);
}
if (isAlphanumeric && !validators.isAlphanumeric(value)) {
return ValidationResult(
isValid: false, message: incorrectIsAlphaNumericMessage);
}
if (isBase64 && !validators.isBase64(value)) {
return ValidationResult(isValid: false, message: incorrectBase64Message);
}
if (isCreditCard && !validators.isCreditCard(value)) {
return ValidationResult(
isValid: false, message: incorrectCreditCardMessage);
}
if (isDate && !validators.isDate(value)) {
return ValidationResult(isValid: false, message: incorrectDateMessage);
}
if (isJSON && !validators.isJSON(value)) {
return ValidationResult(isValid: false, message: incorrectJSONMessage);
}
if (isLowercase && !validators.isLowercase(value)) {
return ValidationResult(
isValid: false, message: incorrectLowercaseMessage);
}
if (isUUID && !validators.isUUID(value)) {
return ValidationResult(isValid: false, message: incorrectUUIDMessage);
}
if (isUppercase && !validators.isUppercase(value)) {
return ValidationResult(
isValid: false, message: incorrectUppercaseMessage);
}
if (isIP && !validators.isIP(value)) {
return ValidationResult(isValid: false, message: incorrectIPMessage);
}
return ValidationResult(isValid: true);
}