Column Validation
Add validation rules to ensure data integrity using the @Validate namespace annotations:
Email Validation
.IsEmail('Must be a valid email')
DataType email = DataType.STRING;
Length Validation
.Len(3, 20, 'Username must be between 3 and 20 characters')
DataType username = DataType.STRING;
Not Empty Validation
.NotEmpty('Name cannot be empty')
DataType name = DataType.STRING;
Numeric Range Validation
.Min(0, 'Age must be positive')
.Max(150, 'Age looks invalid')
DataType age = DataType.INTEGER;
Custom Validation
For more complex validation that requires custom logic, you can implement validation methods in your business logic or use lifecycle hooks, as Dart annotations are static constant values.
Supported Validators
@Validate.IsEmail([msg])@Validate.IsUrl([msg])@Validate.IsIP([msg])@Validate.IsAlpha([msg])@Validate.IsAlphanumeric([msg])@Validate.IsNumeric([msg])@Validate.IsInt([msg])@Validate.IsFloat([msg])@Validate.IsDecimal([msg])@Validate.IsLowercase([msg])@Validate.IsUppercase([msg])@Validate.NotEmpty([msg])@Validate.Equals(value, [msg])@Validate.Contains(value, [msg])@Validate.Min(value, [msg])@Validate.Max(value, [msg])@Validate.Len(min, max, [msg])@Validate.IsIn(list, [msg])@Validate.NotIn(list, [msg])