看来我的班级既得到了我的错误,也被给予了成功班级

问题描述 投票:0回答:1

我有一个表单,我试图验证,我已经把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

jquery jquery-validate
1个回答
0
投票

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

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

I suggest you read the full documentation

© www.soinside.com 2019 - 2024. All rights reserved.