【发布时间】:2010-01-27 09:55:47
【问题描述】:
我想实现更改用户密码的功能。它基本上是一个包含三个字段的表单。三个输入的 id 分别是 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 结果。我无法直接从结果中得出真假。
【问题讨论】:
标签: jquery ajax validation