似乎只应该给成功班级分配我的错误和成功班级的班级

时间:2019-04-17 10:35:18

标签: jquery jquery-validate

我有一个要验证的表单,我在div框和需要输入的文本框周围放了input,但是当我在框中输入内容时并提交,它不会提交,因为还有其他未选择的内容,但是当我应该div仅应成功执行时,它会给我错误和成功类信息。

jquery验证代码:

$("#frm_enter").validate({
    ignore: 'hidden:not(input[name=\'terms,privacy,iam18\'])',
    onkeyup: false,
    errorElement: "div",
    rules: {
        code:{required: true,},
        terms:{required: true,},
        privacy:{required: true},
        iam18:{required: true}
    },
    messages: {
        code:{required: "Code is required"},
        terms:{required: "Please accept terms and conditions"},
        privacy:{required: "Please accept privacy notice"},
        iam18:{required: "Please verify you are 18 or older"}
    },
    errorPlacement: function(error, element) {
        error.appendTo( '#v_' + element.attr('id') + '.frmvalidate' );
          $('#v_' + element.attr('id') + '.frmvalidate').parent().addClass("error1");
         console.log("is this working");
    },
    success: function(label) {
        $("#submit").prop('disabled', false);
        console.log(label);
         $(label).parent().parent().addClass("valid1")
    }
});

HTML:

<div class = "input_validate">                                  
<div class="board_question">
Code :                                  
</div>                          
<div class="board_input">                               
<input type="text" maxlength="11" id="code" name="code" />                          
</div>                              
<p id="v_code" class="frmvalidate"></p>                             
</div>

我希望它将为我的input_validate类提供valid1类,但是它给了我valid1error1

1 个答案:

答案 0 :(得分:0)

您错误地使用了此插件的选项。您不应该使用errorPlacementsuccess添加/删除任何类。您期望它们不会触发这两个功能。 errorPlacement仅触发将错误放置在布局中,然后插件在验证期间切换标签的可见性。 success在元素完全有效时触发,但其预期目的是在元素有效时利用验证消息标签,而不是简单地将其隐藏。

为了在验证期间自动添加/删除有效/无效的类,您应该仅为此使用highlightunhighlight函数。

I suggest you read the full documentation