Skip to content

Validation rules

Soumyanjan Dey edited this page Oct 27, 2025 · 8 revisions

Here are some list of validations

Rule Database Gives error Use
required ❌ No If value is null or empty { validator: "required", message: "Your message" }
required_if ❌ No Makes a field required if another field has a value (or matches a specific value) {validator: "required_if", message: "Your message", options: { other: "field_name", val: "any/ or not needed" }}
email ❌ No If value is not a valid email { validator: "email", message: "Your message" }
url ❌ No If value has invalid url { validator: "url", message: "Your message" }
alpha ❌ No If value does not have only alphabets { validator: "alpha", message: "Your message" }
alphanumeric ❌ No If value does not have only alphabets and numbers { validator: "alphanumeric", message: "Your message" }
no_spaces ❌ No If value have spaces { validator: "no_spaces", message: "Your message" }
no_special_chars ❌ No If value have special characters { validator: "no_special_chars", message: "Your message" }
equal ❌ No If value is not equals to given string (allow) { validator: "equal", message: "Your message", options: { allow: "Some Text" } }
not_equal ❌ No If value is equals to given string (disallow) { validator: "not_equal", message: "Your message", options: { disallow: "Some Text" } }
uuid ❌ No If value is not a valid uuid type. Types : v1/v2/v3/v4/v5/v6/v7/v8/any { validator: "uuid", message: "Your message", options: { type: "any" } }
slug ❌ No If value is not a valid slug { validator: "slug", message: "Your message" }
regex ❌ No If value does not matches the pattern { validator: "regex", message: "Your message", options: { pattern: "Pattern", flags: "Give the flag of pattern" } }
contain ❌ No If an element doesnot contain in value { validator: "contain", message: "Your message", options: { element: "Some text or array" } }
not_contain ❌ No If an element contain in value { validator: "not_contain", message: "Your message", options: { element: "Some text or array" } }
string_case ❌ No If value does not matches the case provided. Cases: lower/upper/title { validator: "string_case", message: "Your message", options: { case_type: "lower" }}
string_length ❌ No If length of value does not matches length (at_least(min), at_most(max), equal(exact) { validator: "string_length", message: "Your message", options: { length: 3, length_type:"min" } }
starts_with ❌ No If value does not starts with the given prefix { validator: "starts_with", message: "Your message", options: { prefix: "Some Text" } }
ends_with ❌ No If value does not ends with the given suffix { validator: "ends_with", message: "Your message", options: { suffix: "Some Text" } }
ascii ❌ No If value is not a valid ascii { validator: "ascii", message: "Your message" }
json ❌ No If value is not a valid json { validator: "json", message: "Your message" }
array ❌ No If value is not a valid array { validator: "array", message: "Your message" }
gt ❌ No If value is less than or equals to provided 'val' { validator: "gt", message: "Your message", options: { val: 3 } }
gte ❌ No If value is less than provided 'val' { validator: "gte", message: "Your message", options: { val: 3 } }
lt ❌ No If value is greater than or equals to provided 'val' { validator: "lt", message: "Your message", options: { val: 3 } }
lte ❌ No If value is greater than provided 'val' { validator: "lte", message: "Your message", options: { val: 3 } }
number_between ❌ No If value is not in between 'min' and 'max' { validator: "number_between", message: "Your message", options: { min: 5, max: 9 } }
integer ❌ No If value is not a valid integer { validator: "integer", message: "Your message" }
positive ❌ No If value is not positive { validator: "positive", message: "Your message" }
negative ❌ No If value is not negative { validator: "negative", message: "Your message" }
float ❌ No If value is not float/double { validator: "float", message: "Your message" }
numeric ❌ No If value is not numeric { validator: "numeric", message: "Your message" }
even ❌ No If value is not even { validator: "even", message: "Your message" }
odd ❌ No If value is not odd { validator: "odd", message: "Your message" }
boolean ❌ No If value is not a valid boolean { validator: "boolean", message: "Your message" }
is_true ❌ No If value is not true { validator: "is_true", message: "Your message" }
is_false ❌ No If value is not false { validator: "is_false", message: "Your message" }
file_required ❌ No If file is null or empty { validator: "file_required", message: "Your message" }
file_mime ❌ No If file is not matching the mime type { validator: "file_mime", message: "Your message", options: { types: ["image/jpeg","image/png",...] } }
file_storage_size ❌ No If file storage size not matching (at_least(min), at_most(max), equal(exact) { validator: "file_storage_size", message: "Your message", options: { size_bytes: 100000, size_type:"max/min/exact" } }
file_extension ❌ No If file extension is not matching { validator: "file_extension", message: "Your message", options: { extension: [".jpg",".png"] } }
image_dimensions ❌ No If image dimensions is not matching (height and width) { validator: "image_dimensions", message: "Your message", options: { width: 200, height: 100, width_type:"max/min/exact", height_type:"max/min/exact" } }
exists ✅ Yes If value does not exist in database { validator: "exists", message: "Your message", options: { collection: "users", field: "email", exclude: { field: "id", value: 1 } } } ['exclude' is optional, used mainly in update]
unique ✅ Yes If value is not unique in database { validator: "unique", message: "Your message", options: { collection: "users", field: "email", exclude: { field: "id", value: 1 } } } ['exclude' is optional, used mainly in update]

Clone this wiki locally