Проверка пароля JQuery AJAX - PullRequest
       7

Проверка пароля JQuery AJAX

2 голосов
/ 27 января 2010

Я хочу реализовать функцию смены пароля пользователя. Это в основном форма с тремя полями. Идентификаторы трех входов: oldpassword, newPassword и newPasswordAgain.

Когда пользователь потерял фокус ввода старого пароля или отправил форму, я хочу проверить базу данных, чтобы убедиться, что старый пароль введен правильно. Как я могу добиться этого с помощью проверки JQuery?

Я добавляю пользовательское правило, подобное этому:

            $.validator.addMethod("checkOldPass",function (value ,element) {
            var validPass = false ;
            $.post("/SMS/admin/users/checkOldPass.do" , {"empId":empId , "oldEmpPass":$.md5(value)},function (data) {
                    var msg = eval('('+data+')');
                    if(msg.resultFlag == 1) {
                        validPass = true ;

                    }
                });
              return validPass ;
            } , "error!");

Но проблема в том, что до того, как мой метод post возвращает флаг результата, метод уже завершен, поэтому я всегда получаю сообщение об ошибке. Я знаю, что у проверки jquery есть удаленный метод, но я не могу его использовать, потому что я использую плагин struts2-json, мой результат json всегда инкапсулируется в объект, а удаленному методу нужен логический результат json. Я не могу прямо получить истину или ложь из результата.

1 Ответ

1 голос
/ 27 января 2010

Вы можете использовать $.ajax и установить async:false: http://api.jquery.com/jQuery.ajax/
Это будет ждать завершения вызова, блокируя вашу страницу.

Тем не менее, я не уверен, что вы должны использовать JavaScript для проверки пароля. Это то, что вы обычно хотите сделать на сервере, и в любом случае он имеет нулевую безопасность.

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