内容目录
jQuery Validator的required
校验器用于校验指定输入是否必须非空。
语法
jQuery Validator 1.0 新增。
// 在校验规则对象中指定该属性
required: value
// value 一般为true或false,例如:
required: true
参数
参数 | 描述 |
---|---|
value | 任意类型指示是否必须非空,一般为true或false。 |
required
校验器所对应的属性值value可以为任意值,目前框架仅将其视作等价的true或false进行判断。建议统一设为true或false,而不要设为其他任意值,以便于后续的扩展兼容。
如果该value
值可以被JS等价视作true,则表示输入必须非空;否则表示允许为空。
对于表单元素是一组复选框或单选框,required
校验器内部对其做了兼容处理,如果复选框/单选框有至少一个被选中,则视为非空;否则视其为空。为了选取到一组复选框/单选框,请使用"name"来指定校验的元素,而不能使用"#id"。
required
校验器具有非常高的优先级。如果一个校验规则中,定义了多个校验器,required
校验器会在其他所有校验器之前先执行。
如果输入为空,且输入允许为空(即required:false)时,当前校验规则将直接通过非空校验,也不再执行该校验规则内指定的其他校验。
在绝大多数情况下,输入校验都需要先进行非空校验,使用非常普遍,因此如果校验规则没有显式指定required
为false,则jQuery Validator将自动为该规则加上required
为true的非空校验。
示例&说明
以如下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]"
}
});
0 条评论
撰写评论