js-validator 是 Laravel 风格的 JavaScript 对象验证库。
使用 js-validator 来验证对象或者 JSON 是否符合规则非常方便,而且具有很好的可扩展性。
var example = { text: 'Hello world!', date: '2015-07-07', comments: null, }, rules = { text: 'required|string', date: 'date|date_format:yyyy-MM-dd', comments: 'integer', }; console.log(Validator.validate(example, rules)); // => Object {status: "failed", field: "comments", rule: "integer"}
引入validator.js(原生JavaScript)
<script type="text/javascript" src="./src/validator.js"> </script>
或
<script type="text/javascript" src="./dist/validator.min.js"> </script>
初始化(非原生JavaScript)
npm install ppoffice/js-validator --save var validator = require('js-validator');
requirejs(["../src/validator"], function(validator) { ... });
define(function (require, exports, module) { var validator = require('./validator'); ... });
对于同一个对象属性,你可以并列制定几个不同的规则进行限定,使用|作为不同规则间的分割符。
|
var rules = { text: 'required|string', date: 'date|date_format:yyyy-MM-dd', comments: 'integer', };
validator.validate(object_to_be_tested, rules);
如果待验证对象符合规则,validate函数返回true;否则返回带有验证状态、失败的属性和对应失败的规则信息的对象。
使用add方法为Validator添加验证器,第一个参数为验证器名称,第二个参数为验证方法,可以为正则表达式对象或者函数。当验证方法为函数时,其第一个参数必须为当前验证域的值,后面的参数根据需求而定,验证成功时结果返回true。
validator.add('older_than', function (value, age) { return value > age; });var rules = { age: 'integer|older_than:17', };
./test/index.html 原生JavaScript支持测试
./test/index.html
./test/node.js Node.js支持测试
./test/node.js
./test/requirejs.html RequireJS支持测试
./test/requirejs.html
./test/seajs.html Sea.js支持测试
./test/seajs.html