UNPKG

@mub22/validity

Version:

Lightweight JavaScript validation library inspired by Laravel's rule syntax. Validate fields and forms easily with built-in rules and error messages.

33 lines (32 loc) 914 B
import { validate } from "./validate"; import { rulesWithData } from "./rulesWithData"; export function validateForm(data, rules) { let isFormValid = true; const errors = {}; for (const field in rules) { const value = data[field]; /* Validations */ /* Skip internal fields */ if (/^__/.test(field)) continue; const ruleList = rules[field].split("|"); if (!ruleList.length) continue; let result; if (ruleList.some(rule => rule in rulesWithData)) { data.__field__ = field; result = validate(value, rules[field], data); } else { result = validate(value, rules[field]); } if (!result.valid) { errors[field] = result.errors; isFormValid = false; } } return { valid: isFormValid, errors }; }