Кажется, что мой класс получает и мою ошибку, и класс успеха, когда ему нужно дать только класс успеха - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть форма, которую я пытаюсь проверить, я поместил div вокруг моего поля input и текстового поля, которое необходимо заполнить, но когда я ввожу что-то в поле и отправляю, ононе будет отправлять, потому что есть другие вещи, не выбранные, но он дает мой div класс ошибок и успеха, когда он должен быть только успешным ...

jquery validate code:

$("#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 Ответ

0 голосов
/ 17 апреля 2019

Вы неправильно используете параметры этого плагина.Вы не должны использовать errorPlacement и success для добавления / удаления любых классов.Эти две функции не срабатывают, когда вы ожидаете их.errorPlacement запускается только для помещения ошибки в макет, затем плагин переключает видимость метки во время проверки.success срабатывает, когда элемент полностью допустим, но его цель - использовать метку сообщения проверки, когда элемент действителен, а не просто скрывать его.

Чтобы автоматически добавлять / удалять действительные / недействительные классы во время проверки, вы должны использовать для этого только функции highlight и unhighlight.

Я предлагаю вампрочитайте полную документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...