当前位置: 首页 > 中文手册 > jQuery Validator context 上下文对象

jQuery Validator context 上下文对象

在jQuery Validator中,上下文对象是一个非常重要的概念。

每一次开始执行校验时(每校验一个表单输入,就算一次),就会创建一个对应的上下文对象,用于保存本次校验的相关信息。

你可以通过启用调试模式(V.debug = true),jQuery Validator将会输出每一个上下文对象。

上下文对象具有如下属性(为了确保性能,其中某些属性可能只会在特定的校验器、或满足特定的条件下才会产生):

// 当前校验的上下文对象
var conext = {	
	origin: { },
// 本次校验的原始校验规则对象,不允许随意修改

	rule: { },
// 本次校验的规则对象,是origin的副本,校验过程中可能会进行修改	

	value: "当前被校验表单元素的输入值",
	event: new Event(),
// 触发本次校验的事件对象,只有基于事件触发时才有此属性

	$dom: $("#price"),
// 表示当前被校验表单元素的jQuery对象,只有表单元素的校验才有此属性

	$relatedDoms: [ ],
// 本次校验关联的其他表单元素的jQuery对象的数组,目前只有"equalsTo"和"compare"校验器会指定该属性
// 例如:equalsTo:"#password", equalsTo 校验器会将$("#password")放入$relatedDoms中
// 你可以通过 $relatedDoms[0](基于索引)来访问,也可以通过 $relatedDoms["password"](基于表单元素name属性值)访问
// compare校验器会根据表达式中除this外的其他表单元素出现的先后顺序依次放入,如果一个元素在表达式出现多次,则会被放入多次
// 以确保你可以直接按照表单元素在表达式中出现的任意位置索引来访问
	
	name: "当前被校验表单元素的name属性",
	validator: "range", // 当前正在执行的校验器	
	expression: "[6,16]", // 为当前校验器所指定的表达式

	child: "number",
// 目前只有format校验器具有"number"、"date"、"idcard"3个子处理器

	dateFormat: "yyyy-MM-dd",
// "format"的子处理器"date"的专有属性,存储当前的日期格式

	age: 18,
// "format"的子处理器"idcard"的专有属性,存储身份证号码对应的年龄

	formatResult: new Date(),
// "format"校验器的专有属性,存储格式化后的值。
// 子处理器"number"存储数字类型,"date"存储Date类型,"idcard"也存储日期类型(出生日期)。

	remoteResult: JSONdata,	// "remote"校验器专有属性,存储服务器端响应的JSON对象
	
	_stop: true,
// 将规则定义内的所有校验器依次执行,如果发现_stop 为 true,则不再执行后续的校验器,直接返回true
// 例如{ required: false, format:"number"},执行required校验器时,required校验器发现输入为空,校验规则允许为空,因此也应该校验通过
// required校验器设置 _stop = true,并返回true。此时,jQuery Validator不再执行后面的format校验器,直接视为该表单元素本次校验通过。

	trigger: ">=",
// 为了细化提示信息,校验器可以为触发校验不通过的具体部位指定不同的trigger
// 例如:range:"[6,16]",要求输入 >= 6 且 <= 16。如果输入是5,则在进行">="部分的校验时出错
// 如果输入是18,则在进行"<="部分的校验时出错。
// 如果不需要细化提示信息,trigger则默认等于validator属性

	actual: "当前实际参与校验的值",

	expected: 6, // 当前校验所期望部位的值。以range:"[6,16]"为例:
// 如果输入是5,则 无法 >= 6,因此校验不通过,此时 expected 为 6
// 如果输入是18,则 无法 <= 16,因此校验不通过,此时 expected 为 16

	label: "当前被校验表单元素对应的语义名称",

	message: "{label}不能为空"
// 校验器在执行过程中根据某些需要临时定义的提示信息,一般不存在该属性。
// 任何校验器或回调处理函数可以利用它完成一些特殊功能
// 它可以是字符串、对象或函数,如果返回false,则不会提示任何错误信息
};
7 0
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。