How the Data Validation Rules Builder Works
AnyTool tests user-defined rules against a CSV entirely in the browser. The file is parsed with PapaParse, then for each rule you define on a column — required, email, number, integer, min/max length, regex, numeric range, allowed-values enum, unique, date, URL or UUID — every row is checked. Numbers are parsed locale-aware and dates with a deterministic UTC parser; ranges support negative bounds via explicit min/max; enums honour case-sensitivity; regexes are compiled once and a malformed pattern is reported as a rule error instead of silently passing; unique uses a per-column set; and a rule whose field is not found is surfaced as unmatched rather than ignored. The result is a per-violation list (row, field, rule, value), counts of violations and bad rows, and per-field/per-rule breakdowns. Export the violations or split into clean and failing rows. Nothing is uploaded.
- Runs client-side — the data is never uploaded
- Rule types: required, type, range, regex, enum, unique, email/URL/date/UUID
- Negative range bounds; case-sensitive enums; compiled regex
- Invalid rules + unmatched fields surfaced (not silently passed)
- Per-violation report; clean/failing row export
- No CDN, no backend, no row cap
