您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2016年06月02日 03:23

原创 jQuery Validator after 后置处理器

2324 次浏览 读完需要≈ 5 分钟

内容目录

jQuery Validator的after后置处理器用于在每次完成当前规则校验之后进行后续处理。

如果指定了after后置处理器,无论当前规则校验通过与否,jQuery Validator都会执行该后置处理器。

语法

jQuery Validator 1.0 新增

// 在校验规则对象中指定该属性
after: handler

参数

参数 描述
handler Function类型指定的后置处理函数。

如果在校验规则中指定了后置处理器after,jQuery Validator会在执行输入预处理和校验之后调用该处理器函数。

在调用函数时,jQuery Validator会为其传入如下所示的参数:

after: function(result, context){
	// result 表示本次校验结果:true表示通过,false表示不通过
	// context 表示本次校验的上下文对象
	// this 指向当前jQuery Validator实例
}

目前,after后置校验器的返回值没有任何作用。

示例&说明

以如下HTML表单为例:

<form action="https://codeplayer.vip/">
	<div>
		<label>身份证号码</label>:
		<input id="idcard" name="idcard" type="text" >
	</div>
	<div>
		<label>性别</label>:
		<select id="gender" name="gender">
			<option value="">==请选择==</option>
			<option value="1">男</option>
			<option value="0">女</option>
		</select>
	</div>
	<input type="submit" value="提交" />
</form>

我们可以使用before后置处理器完成如下校验:运行代码

// 在表单提交时执行校验
$("form").v("submit", {
	"#idcard": {
		extend: "idcard", // 继承idcard属性
		after: function(result, context){
			// 如果身份证号码合法,直接根据身份证号码获取性别
			if(result){
				var male = "13579".indexOf(context.value.charAt(16)) != -1;
				$("#gender").val(male ? "1" : "0");
			}			
		}
	},
	"#gender": "required"
});
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单