Проверка пароля с помощью сервера и jquery Validate - PullRequest
0 голосов
/ 27 июля 2011
$("#changePassword").validate({
        rules: {    
            newPassword: {
                required: true              
            },
            newPassword2: {
                required: true,             
                equalTo: "#newPassword"
            }               
        }
    });

Привет, ребята, это мой проверочный код.

А это моя проверка пароля

    $('#oldPassword').change(function() {
        var password = $(this).val();
        $.post('/settings/check/oldPassword', { value : password }, function(data) {

            if (data == 'false') {                  
                $('#oldPassword').removeClass('valid');
                $('#oldPassword').addClass('error');
            }

        });
    });

Как мне сделать так, чтобы форма не отправлялась при наличии этой ошибки. Я также подумал, что проверка jquery не будет отправлена, если элемент формы имеет ошибку класса, но, очевидно, нет. Класс ошибок добавляется нормально, но вы все равно можете отправить форму. Спасибо за любую помощь.

EDIT

Вот форма.

        <input type="text" name="oldPassword" placeholder="Old Password" value="" title="Old Password" class="hint" id="oldPassword" size="30"  /> 

    <br />
    <br />
    <input type="password" name="newPassword" placeholder="New Password" value="" title="New Password" class="hint" id="newPassword" size="30"  /> 

    <br />
    <br />

    <input type="password" name="newPassword2" placeholder="Verify Password" value="" title="Verify Password" class="hint" id="newPassword2" size="30"  /> 

    <br />
    <br />
    <input type="submit" id="submitForm" value="Change Password" />

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Вы можете сделать:

$('#oldPassword').submit(function() {
    var password = $(this).val();
    $.post('/settings/check/oldPassword', { value : password }, function(data) {

        if (data == 'false') {                  
            $('#oldPassword').removeClass('valid');
            $('#oldPassword').addClass('error');
            return false;
        }

    });
});

РЕДАКТИРОВАТЬ - если вам нужно проверить значение ввода путем проверки удаленного ресурса, вы должны использовать remote () , вам определенно не следует пытаться «перепутать» плагин, думая, что форма недействительный

0 голосов
/ 27 июля 2011

Вам придется использовать .submit(), а не change() и return false, если проверка не удалась.

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