{ "required": { "customMessage": [ { "message": "Please fill this in" }, { "message": "Required field" }, { "message": "Cannot be empty" } ] }, "email": { "validPatterns": [ { "email": "test@example.com" }, { "email": "user.name@domain.org" }, { "email": "admin@sub.domain.co.uk" }, { "email": "a@b.c" } ], "invalidPatterns": [ { "email": "invalid" }, { "email": "@nodomain.com" }, { "email": "noat.com" }, { "email": "spaces in@email.com" } ], "customMessage": [ { "message": "Enter valid email address" }, { "message": "Email format invalid" } ] }, "minLength": { "rules": [ { "length": 1 }, { "length": 8 }, { "length": 16 }, { "length": 100 } ], "customMessage": [ { "length": 8, "message": "Password must be 8+ characters" }, { "length": 3, "message": "Username too short" } ] }, "maxLength": { "rules": [ { "length": 50 }, { "length": 100 }, { "length": 255 }, { "length": 1000 } ] }, "pattern": { "rules": [ { "name": "phone", "regex": "^%d%d%d%-%d%d%d%-%d%d%d%d$", "message": "Invalid phone" }, { "name": "alphanumeric", "regex": "^%w+$", "message": "Letters and numbers only" }, { "name": "zip", "regex": "^%d%d%d%d%d$", "message": "Invalid ZIP code" } ], "matchTests": [ { "regex": "^%d+$", "value": "12345", "expected": true }, { "regex": "^%d+$", "value": "abc", "expected": false }, { "regex": "^%w+$", "value": "test123", "expected": true }, { "regex": "^%w+$", "value": "test 123", "expected": false }, { "regex": "^%a+$", "value": "onlyletters", "expected": true } ] } }