问题描述
|
我是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\";
}
}
});
谢谢你的帮助!
解决方法
我解决了问题。不确定这是否是最优雅的方法,但它确实有效。我不得不以某种方式清除该字段的无效状态。我尝试了
resetForm()
,但是没有用。最后,我使用了以下内容:
if ($(\"#ID\").val()==\"\") {
validator.resetForm();
$(\"#ID\").rules(\"remove\",\"required minlength\");
}
并根据需要使用以下命令将这些规则添加回ID中:
$(\"#ID\").rules(\"add\",{
required: true,minlength: 5,messages: {//messages
},});
, 您可以尝试使用验证方法,如下所示:
jQuery.validator.addMethod(\"ValReqJobName\",valReqJobName,\"Enter a valid jobname.\");
然后,在规则对象的\“ fname \”下,只需添加\“ ValReqJobName:true \”。
在\“ valReqJobName \”函数中,您可以允许该字段为空白,或添加所需的任何自定义逻辑。