我正在使用jQuery Validate插件来验证我的表单,并且需要一种方法来检测表单字段何时返回为无效。我想在返回无效时将更多HTML推送到表单字段。当字段返回为有效时,我能够推动成功tickmark成功:"成功:"方法,但我无法找到正确的方法来检测字段无效。
答案 0 :(得分:0)
我想在返回无效时将更多HTML推送到表单字段。
使用the highlight
and unhighlight
functions。这些通常用于切换元素上的error
和valid
类。只要保留函数的默认部分,就可以将自定义代码添加到这些部分。
当字段无效时,无法找到正确的方法来检测字段无效。
highlight
会触发。
// FIRES WHEN INVALID
highlight: function(element, errorClass, validClass) {
if (element.type === "radio") {
this.findByName(element.name).addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
}
// your custom code here - field is INVALID
},
// FIRES WHEN VALID
unhighlight: function(element, errorClass, validClass) {
if (element.type === "radio") {
this.findByName(element.name).removeClass(errorClass).addClass(validClass);
} else {
$(element).removeClass(errorClass).addClass(validClass);
}
// your custom code here - field is VALID
}
当然,您也可以更改默认代码,但这些类可能无法正确切换。利用代表正在验证的表单字段的element
参数。
当字段返回有效时,我可以通过“success:”方法
推送成功标记
由于您将highlight
用于“无效”,因此当“有效”时,您应使用unhighlight
代替success
。 (您仍然可以将success
保留为勾选标记。)
侧注:常规错误success
对象中显示label
标记,因此通常无需使用错误事件来移除此标记...只要有错误事件,它就会自动删除新错误。