#jquery #jquery-validate
#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
, но это дает мне и valid1
то, и другое, и error1
Ответ №1:
Вы неправильно используете опции этого плагина. Вы не должны использовать errorPlacement
и success
для добавления / удаления каких-либо классов. Эти две функции не срабатывают, когда вы этого ожидаете. errorPlacement
срабатывает только для размещения ошибки в макете, затем плагин переключает видимость метки во время проверки. success
срабатывает, когда элемент является полностью допустимым, но его предназначение — использовать метку сообщения проверки, когда элемент является допустимым, а не просто скрывать его.
Чтобы автоматически добавлять / удалять допустимые / недопустимые классы во время проверки, вы должны использовать только highlight
unhighlight
функции and для этого.