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

原创 jQuery Validator required 非空校验器

3400 次浏览 读完需要≈ 6 分钟

内容目录

jQuery Validator的required校验器用于校验指定输入是否必须非空。

语法

jQuery Validator 1.0 新增

// 在校验规则对象中指定该属性
required: value

// value 一般为true或false,例如:
required: true

参数

参数 描述
value 任意类型指示是否必须非空,一般为truefalse

required校验器所对应的属性值value可以为任意值,目前框架仅将其视作等价的truefalse进行判断。建议统一设为truefalse,而不要设为其他任意值,以便于后续的扩展兼容。

如果该value值可以被JS等价视作true,则表示输入必须非空;否则表示允许为空。

对于表单元素是一组复选框或单选框,required校验器内部对其做了兼容处理,如果复选框/单选框有至少一个被选中,则视为非空;否则视其为空。为了选取到一组复选框/单选框,请使用"name"来指定校验的元素,而不能使用"#id"。

required校验器具有非常高的优先级。如果一个校验规则中,定义了多个校验器,required校验器会在其他所有校验器之前先执行。

如果输入为空,且输入允许为空(即required:false)时,当前校验规则将直接通过非空校验,也不再执行该校验规则内指定的其他校验。

在绝大多数情况下,输入校验都需要先进行非空校验,使用非常普遍,因此如果校验规则没有显式指定requiredfalse,则jQuery Validator将自动为该规则加上requiredtrue的非空校验。

示例&说明

以如下HTML表单为例:

<form action="https://codeplayer.vip/">
	<div>
		<label>商品价格</label>:
		<input id="price" name="price" type="text" >
	</div>
	<input type="submit" value="提交" />
</form>

我们可以指定对表单元素"#price"进行非空校验:运行代码

// 定义一个名为"required"的校验规则,指定使用非空校验器进行非空校验
v.define("required", { required: true });
// 它还等价于 v.define("required", { });
// 当然,系统已经预定了该校验规则,你无需再重复定义,这里只是演示

$("form").v("submit", {
	"#price": "required" // 为ID为"price"的元素指定名为"required"的校验规则
});
// 如果是一组单选框/复选框,不能使用"#price"来指定被校验元素,而应该使用"price"(name属性值)

我们也可以允许该输入为空,如果不为空,再进行格式和范围校验:

$("form").v("submit", {
	"#price": {
		required: false,
		format: "number/money",
		range:"(0,100]"
	}
});
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单