jQuery中如何手动将form表单设置为无效状态
jQuery Validation手动设置表单无效状态的实现方法
$("#frm_Index").valid()是jQuery Validation插件提供的只读校验方法,仅会返回当前表单的校验结果(布尔值),无法通过直接赋值的方式修改表单校验状态,所以你之前的写法不生效。
可通过以下两种常用方式实现需求:
方案1:绑定具体字段错误(最常用)
调用验证实例的showErrors方法手动给指定字段添加错误提示,会直接触发表单无效判定,同时会在页面对应字段位置展示你自定义的错误文案:
// 先获取表单的校验实例(需提前给表单初始化过校验规则) var validator = $("#frm_Index").validate(); // 手动添加错误,key为表单字段的name属性值,value为自定义错误提示 validator.showErrors({ "user_name": "用户名不符合要求", "tel": "手机号格式错误" }); // 此时调用valid()会返回false console.log($("#frm_Index").valid());
方案2:全局设置表单无效(无需绑定具体字段)
如果不需要关联具体字段的错误提示,仅要让表单valid()方法返回false,可以重写验证实例的numberOfInvalids方法:
var validator = $("#frm_Index").validate(); // 自定义返回无效字段数大于0,即可让表单判定为无效 validator.numberOfInvalids = function() { return 1; }; // 此时调用valid()会返回false console.log($("#frm_Index").valid());
如果你后续需要恢复表单的正常校验能力,调用validator.resetForm()即可清除所有手动设置的无效状态
内容的提问来源于stack exchange,提问作者Raquib
相关产品推荐
相关产品推荐

