我是jQuery的新手,如果这个问题非常基础,我会发誓。
我正在使用 bassistance的Valiation 插件来验证简单的表单。其中一个文本字段是必填字段 - 因此我在规则下设置必需标记,在消息下设置相应的消息。我遇到的问题是,一旦验证开始,即使字段为空(即,如果用户删除字段的内容以从头开始),也会显示我设置的错误消息。无论如何,如果字段变空,是否清除错误消息或重置验证?我尝试使用resetForm(),但看起来我仍然无法在验证时使用它。这是代码的一部分:
$(document).ready(function(){
var validator = $("#form1").validate({
rules: {
fname: {
required: true,
remote: 'http://localhost/check_name.php'
}
},
messages: {
fname: {
required: "Enter a valid jobname. eg: 99999_Disney",
remote: "Name already exists";
}
}
});
感谢您的帮助!
答案 0 :(得分:1)
我解决了这个问题。不确定它是否是最优雅的方式,但它的工作原理。我不得不以某种方式清除该领域的无效状态。我试过了resetForm()
但是没有用。最后我使用了这样的东西:
if ($("#ID").val()=="") {
validator.resetForm();
$("#ID").rules("remove", "required minlength");
}
并根据需要使用以下命令将这些规则添加回ID:
$("#ID").rules("add", {
required: true,
minlength: 5,
messages: {//messages
},
});
答案 1 :(得分:0)
您可以尝试使用验证方法,如下所示:
jQuery.validator.addMethod("ValReqJobName", valReqJobName, "Enter a valid jobname.");
然后,在rules对象的“fname”下,添加“ValReqJobName:true”。
在“valReqJobName”函数中,您可以允许该字段为空,或添加您想要的任何自定义逻辑。