我有一个要验证的表单,我在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
答案 0 :(得分:0)
您错误地使用了此插件的选项。您不应该使用errorPlacement
和success
添加/删除任何类。您期望它们不会触发这两个功能。 errorPlacement
仅触发将错误放置在布局中,然后插件在验证期间切换标签的可见性。 success
在元素完全有效时触发,但其预期目的是在元素有效时利用验证消息标签,而不是简单地将其隐藏。
为了在验证期间自动添加/删除有效/无效的类,您应该仅为此使用highlight
和unhighlight
函数。