jquery ajax 密码验证

标签 jquery ajax validation

我想实现更改用户密码的功能。它基本上是一个包含三个字段的表单。三个输入的 id 分别是 oldpasswordnewPasswordnewPasswordAgain

当用户失去旧密码输入的焦点或提交表单时,我想检查数据库,看看旧密码​​是否输入正确。 如何使用 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结果总是封装在一个对象中,而远程方法需要一个 bool json结果。我无法直接从结果中得出 true 或 false。

最佳答案

您可以使用 $.ajax 并设置 async:false: http://api.jquery.com/jQuery.ajax/
这将等待调用完成,并阻止您的页面。

也就是说,我不确定您是否应该使用 JavaScript 来验证密码。这是您通常希望在服务器上执行的操作,而且无论如何它的安全性为零。

关于jquery ajax 密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145858/

相关文章:

javascript - 灵活宽度居中模态窗口

javascript - 动态添加时,jQuery remove() 不适用于 div 标签

javascript - AJAX json 意外标记'

javascript - 防止验证 angularJS/ionic 中的隐藏字段

c# - WPF 验证无需更新数据源

javascript - 如何将javascript字符串格式转换为日期

jquery - CSS/jQuery 下拉菜单问题

javascript - 以优雅的方式将响应文本解析为键值对

php - 通过 ajax 将变量发布到 mysql 数据库 - phonegap

validation - 使用 Kendo UI 在 ASP MVC 中进行必填字段验证