内容目录
校验器是jQuery Validator的核心,jQuery Validator目前内置了10个校验器,它们可以满足你的大多数需求。当然,你也可以定义新的校验器,或者重写内置的校验器,来实现个性化需求。
jQuery Validator的所有校验器均位于V.fn.validator
对象中。
因此,你可以如下定义/重写一个名为hello的校验器:
V.fn.validator.hello = function(value, pattern, context){
// 函数中的this指向当前jQuery Validator示例(一般即v)
// value 表示需要校验的输入值
// pattern 为定义规则时,给该校验器指定的值
// context 当前校验的上下文对象
// 如果校验不通过,函数必须返回false
}
此外,如果校验失败,你应该在函数返回前调用this.sendError()
方法来发送错误信息。
下面,我们来看一个具体的例子,示例中的校验器只允许输入"hello",否则均校验不通过:运行代码
// 定义校验器 hello
V.fn.validator.hello = function(value, pattern, context){
if(value != "hello"){
this.sendError("", value, "hello", context);
return false;
}
}
// 同时应该定义对应的提示消息
V.fn.messages["hello"] = "{label}必须为{expected}");
// 在校验时使用hello校验器
$("form").v("submit", {
"#input": {
hello: true // 这里为hello校验器指定true,上面的pattern即为true
}
});
0 条评论
撰写评论