【问题标题】:Jquery ajax password validationjQuery ajax 密码验证
【发布时间】:2010-01-27 09:55:47
【问题描述】:

我想实现更改用户密码的功能。它基本上是一个包含三个字段的表单。三个输入的 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 结果总是封装在一个对象中,而远程方法需要一个布尔 json 结果。我无法直接从结果中得出真假。

【问题讨论】:

    标签: jquery ajax validation


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我的应用程序中确实有服务器端验证,客户端验证只是用户体验增强。并且异步有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多