Validation Rules Reference
This page provides a complete reference of all built-in validation rules available in Trongate v2. Each rule validates a specific aspect of form data, and most rules are optional — fields only validate when they contain data (except required).
Optional Fields: All validation rules except required skip validation if the field is empty. To validate an empty field, use the required rule first.
Quick Reference Table
| Rule | Parameter | Purpose |
|---|---|---|
required | — | Field cannot be empty |
numeric | — | Must be a number |
integer | — | Must be a whole number |
decimal | — | Must be a decimal number |
valid_email | — | Must be valid email address |
valid_url | — | Must be valid URL |
valid_ip | — | Must be valid IP address |
valid_date | — | Must be valid date (YYYY-MM-DD) |
valid_time | — | Must be valid time (HH:MM or HH:MM:SS) |
valid_datetime_local | — | Must be valid datetime (YYYY-MM-DDTHH:MM) |
valid_month | — | Must be valid month (YYYY-MM) |
valid_week | — | Must be valid week (YYYY-W##) |
min_length | number | Minimum character length |
max_length | number | Maximum character length |
exact_length | number | Exact character length |
greater_than | number | Must be greater than value |
less_than | number | Must be less than value |
matches | field | Must match another field |
allowed_types | extensions | Allowed file types |
max_size | kilobytes | Maximum file size |
min_size | kilobytes | Minimum file size |
is_image | — | Must be valid image |
max_width | pixels | Maximum image width |
min_width | pixels | Minimum image width |
max_height | pixels | Maximum image height |
min_height | pixels | Minimum image height |
exact_width | pixels | Exact image width |
exact_height | pixels | Exact image height |
square | — | Image must be square |
Standard Rules
required
The field cannot be empty. This is the only rule that validates empty fields — all other rules skip validation if the field is empty.
Syntax:
Error Message:
numeric
The field must contain a numeric value (integer or decimal, positive or negative).
Syntax:
Valid Values: 42, -15, 3.14, -2.5
Invalid Values: abc, 12x, 1,000
Error Message:
integer
The field must contain a whole number (no decimal places, positive or negative).
Syntax:
Valid Values: 42, -15, 0
Invalid Values: 3.14, abc, 42.0
Error Message:
decimal
The field must contain a decimal number (with or without decimal places).
Syntax:
Valid Values: 19.99, 10, -3.5
Invalid Values: $19.99, abc
Error Message:
Format Rules
valid_email
The field must contain a valid email address.
Syntax:
Valid Values: [email protected], [email protected]
Invalid Values: user@, @example.com, user [email protected]
Error Message:
valid_url
The field must contain a valid URL (with protocol).
Syntax:
Valid Values: https://example.com, http://example.com/path
Invalid Values: example.com, not a url
Error Message:
valid_ip
The field must contain a valid IP address (IPv4 or IPv6).
Syntax:
Valid Values: 192.168.1.1, 2001:0db8:85a3::8a2e:0370:7334
Invalid Values: 256.256.256.256, not an ip
Error Message:
Date and Time Rules
valid_date
The field must be a valid date in YYYY-MM-DD format.
Syntax:
Valid Values: 2024-03-18, 1999-12-25
Invalid Values: 03/18/2024, 2024-13-01, 2024-02-30
Error Message:
valid_time
The field must be a valid time in HH:MM or HH:MM:SS format (24-hour).
Syntax:
Valid Values: 14:30, 09:15:45, 23:59:59
Invalid Values: 2:30 PM, 25:00, 14:60:00
Error Message:
valid_datetime_local
The field must be a valid datetime in YYYY-MM-DDTHH:MM format (ISO 8601 local datetime).
Syntax:
Valid Values: 2024-03-18T14:30, 2024-12-25T23:59
Invalid Values: 2024-03-18 14:30, 03/18/2024T14:30
Error Message:
valid_month
The field must be a valid month in YYYY-MM format.
Syntax:
Valid Values: 2024-03, 2024-12
Invalid Values: 2024-13, 03-2024, March 2024
Error Message:
valid_week
The field must be a valid week in YYYY-W## format (ISO 8601 week date).
Syntax:
Valid Values: 2024-W12, 2024-W52
Invalid Values: 2024-W53 (if year doesn't have 53 weeks), W12-2024
Error Message:
Length Rules
min_length
The field must be at least the specified number of characters long.
Syntax:
Valid for min_length[3]: abc, john, user123
Invalid for min_length[3]: ab, x
Error Message:
max_length
The field cannot exceed the specified number of characters.
Syntax:
Valid for max_length[50]: New York, Los Angeles
Invalid for max_length[50]: Any string longer than 50 characters
Error Message:
exact_length
The field must be exactly the specified number of characters long.
Syntax:
Valid for exact_length[5]: 12345, abcde
Invalid for exact_length[5]: 1234, 123456
Error Message:
Comparison Rules
greater_than
The field must contain a value greater than the specified number.
Syntax:
Valid for greater_than[18]: 19, 25, 100
Invalid for greater_than[18]: 18, 17, 0
Error Message:
less_than
The field must contain a value less than the specified number.
Syntax:
Valid for less_than[100]: 99, 50, 0
Invalid for less_than[100]: 100, 101
Error Message:
matches
The field must match the value of another field. Commonly used for password confirmation.
Syntax:
Valid: Both fields contain the same value
Invalid: Fields contain different values
Error Message:
Note: The parameter is the name of the field to compare against, not a label.
File Validation Rules
allowed_types
The uploaded file must be one of the specified file types (by extension).
Syntax:
Parameters: Comma-separated list of allowed file extensions (without dots)
Valid for allowed_types[pdf,doc,docx]: resume.pdf, letter.doc, report.docx
Invalid for allowed_types[pdf,doc,docx]: image.jpg, video.mp4
Error Message:
max_size
The uploaded file size cannot exceed the specified limit in kilobytes.
Syntax:
Parameters: Maximum file size in kilobytes
Error Message:
min_size
The uploaded file size must be at least the specified limit in kilobytes.
Syntax:
Parameters: Minimum file size in kilobytes
Error Message:
Image Validation Rules
is_image
The uploaded file must be a valid image file (JPG, PNG, GIF, or WEBP).
Syntax:
Valid File Types: JPG, PNG, GIF, WEBP
Error Message:
max_width
The image width cannot exceed the specified number of pixels.
Syntax:
Parameters: Maximum width in pixels
Error Message:
min_width
The image width must be at least the specified number of pixels.
Syntax:
Parameters: Minimum width in pixels
Error Message:
max_height
The image height cannot exceed the specified number of pixels.
Syntax:
Parameters: Maximum height in pixels
Error Message:
min_height
The image height must be at least the specified number of pixels.
Syntax:
Parameters: Minimum height in pixels
Error Message:
exact_width
The image width must be exactly the specified number of pixels.
Syntax:
Parameters: Exact width in pixels
Error Message:
exact_height
The image height must be exactly the specified number of pixels.
Syntax:
Parameters: Exact height in pixels
Error Message:
square
The image must be square (equal width and height).
Syntax:
Valid: Image with width = height (e.g., 200x200, 500x500)
Invalid: Any rectangular image (e.g., 400x300, 1920x1080)
Error Message:
Combining Rules
Multiple rules can be combined using the pipe character (|):
Early Exit: Validation stops at the first error for each field. If required fails, other rules for that field are not checked.