最新版本:2.0.0
优势:把繁琐的数据验证,简化为简单的链式配置
项目地址: https://github.com/linfenpan/PipeValid
可用在web端,script引入、amd/cmd引入,都可以,
或通过 npm install pipe-valid 安装到 node 项目
小例子
看两个小例子,感受一下PipeValid的魅力
普通的验证:
var name = "da宗熊";
var error = "";
if ( name.trim() === "") {
error = "名字不能为空";
} else if (name.length > 20) {
error = "名字长度不能超过20";
} else if (name.length < 2) {
error = "名字不能小于2位";
}
if (error) {
alert(error);
}
而使用了 PipeValid 后,你只需
var valid = new PipeValid();
valid.check("name")
.notEmpty("名字不能为空")
.max(20, "名字长度不能超过20")
.min(2, "名字不能小于2位")
.check("text")
.notEmpty("文本不能空")
.check("url")
.url("请正确填写链接");
valid.start({ name: "da宗熊", text: "xx", url: "" });
if(!result.pass){
alert(result.error);
}
优势
可复用的链式配置
抛弃反锁的if、else的操作,使用链式定义,验证错误,其中的验证函数,更是定义一次,就可反复使用。
valid.check("name") .max(10, "xx...");
实例可反复使用
同一个实例,同一份配置,调用不同的start,返回独立的结果
// 多个start,使用相同配置,进行多个验证 var result1 = valid.start({ name: "da宗熊" }); var result2 = valid.start({ name: "da宗熊2" });
支持异步验证
验证结果,返回一个简单的 promise/a 规范的对象,支持异步验证
valid.check('name') .define(function(val) { return