Validation rules
Define checks that run as data is entered — on staff-facing forms, client-facing forms (the booking request), or both. Pick a field (client, pet, booking, expense or invoice), choose a rule (required, min/max length, numbers only, number range, letters only, valid email, phone, postcode, date range, one-of-a-list, starts with, or a regular expression), and optionally set a custom message. Optional fields stay optional — only the “Required” rule fails on an empty value.
Example
You add a rule that the client phone must be a valid number, applied to client-facing forms — now a booking request with a bad phone number is rejected with a clear message before it’s saved.
FAQ
Where are rules enforced?
Anywhere the plugin validates input — currently the public booking request form. Rules are scoped to an area (client, pet, etc.) so they only apply where relevant.
Does a rule block optional fields?
No. Every rule except “Required” passes when the value is empty, so optional fields remain optional.
Can I write my own pattern?
Yes — the “Matches a pattern” rule takes a regular expression, e.g. ^[A-Z]{2}[0-9]{4}$.