Javascript Validator library
Client-side javascript validator library. Ports from Laravel 5.2
Installation
-
Included as global
<script>
, copy theValidator.js
file insidedist
directory to your project directory and reference it in the script tag. Or, you can use NPMCDN to reference it like so,<!-- or using NPMCDN --> -
Using NPM
npm install Validator --savevar Validator =
Usage
- Basic usage
var data = name: 'John Doe' company: 'Example Co.' birthday: '1985-04-16' var rules = name: 'required' // for multiple rules birthday: 'required|date' // can be a piped string company: 'required' 'string' // can be an array of strings var v = Validator if v var errors = v console
getErrors()
will return an object containing error field as a key and array of error messages for that field.
- Custom Error Messages
const messages = // custom message for based rules 'required': 'You forgot the :attr field' 'email': ':attr is not valid' // custom message for specific rule of attribute 'receiver.email': 'The receiver email address is not valid' var v = Validator if v //...
- Custom Name
var v = Validator
Supported Validation Rules
See validation rule usage in Laravel Documentation
- accepted
- after (date)
- alpha
- alpha_num
- alpha_dash
- array
- before (date)
- between
- boolean
- confirmed
- date
- different
- digits
- digits_between
- filled
- in
- integer
- ip
- json
- max
- min
- not_in
- numeric
- present
- regex
- required
- required_if
- required_unless
- required_with
- required_with_all
- required_without
- required_without_all
- same
- size
- string
- url
Extending with Custom Validation Rules
The validator can be extended with custom rules
var rules = id: 'required|mongoid' { let hexadecimal = /^[0-9A-F]+$/i return value && hexadecimal && valuelength === 24 } var v = Validator v if v //...
validator.extend
takes three required parameters:
name
: the name of the custom rulecallback
: called when the rule is checkedvalidationMessage
: error message text on validation failure
The validation callback receives three parameters:
name
: the field name being validatedvalue
: the given value in the dataparams
: Any parameters, passed after the colon in the rule definition.
Params defined ike so: rulename:min=10,max=15
would be passed in as an array: ['min=10', 'max=15']