我有一个表单,我试图验证,我已经把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
但它给了我valid1
和error1
你错误地使用了这个插件的选项。你不应该使用errorPlacement
和success
来添加/删除任何类。当你期望它们时,这两个函数不会触发。 errorPlacement
仅触发将错误放置在布局中,然后插件在验证期间切换标签的可见性。 success
在元素完全有效时触发,但其目的是在元素有效时利用验证消息标签而不是简单地隐藏它。
为了在验证期间自动添加/删除有效/无效类,您应该只使用highlight
和unhighlight
函数。