field-validator
v0.1.2
Published
config based validator for form like fields
Downloads
1
Readme
field-validator
config-based field validator
Install
front-end
bower install field-validator
back-end
npm install field-validator
Open sample
fv is the alias of field-validator that you can use it like $ for jquery.
//Define restrictions
var restrictions = {
name: {
required: true
},
age: {
required: true,
type: 'string'
}
};
//Generate validator by the restrictions
var validator = fv.newInstance(restrictions);
var data = { name:'wangpin'};
//Then perform validation
var result = validator.perform(data);
The result contains standard errors if data is invalid. And if you only need to know if validation is passed or not:
validator.getState();
API
Support properties in restriction
|name|description|datatype|examples|default |-----|----------|---------|-------|------- |required|set field to be required |boolean|true|false |type|set field type|string|'string'| |maxLength|set max length of string or array|number|10| |minLength|set min length of string or array|number|1| |max|set max value of number|number|1001| |min|set min value of number|number|-38| |elementType|set element type of array|string|'string'| |uniqElement|allow an array has uniq constraint for elements|boolean|true|false
Supported field types:
boolean
number
string
Array
For elementType, currently fv could support several primitive types:
boolean
number
string
fv thinks null,undefined should not be one of dataTypes. Symbol is not supported also.
- fv.newInstance(restrictions,options)
Create fv instances(called fvObj in following introductions) by given restrictions and options
- fvObj.perform(data)
Perform validation on given data. The data should be a pure json object.And currently, it can only check data whose properties types are string,number,boolean and array.
- fv.getState Return the state of the latest perform operation. E.g. true means validation passed.
Browser Unit test
Open test/report/jasmine_report.html in your browser
There is an online report.
LICENSE
MIT