Я хочу реализовать функцию смены пароля пользователя. Это в основном форма с тремя полями. Идентификаторы трех входов: 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. Я не могу прямо получить истину или ложь из результата.