【问题标题】:How to prevent user from entering previous passwords in a new password field using ajax in sugarcrm?如何防止用户在 Sugarcrm 中使用 ajax 在新密码字段中输入以前的密码?
【发布时间】:2015-01-30 12:01:08
【问题描述】:

当用户更改密码时,我想在现有 JavaScript 验证中添加一些 JavaScript 验证。

现在,我想使用 AJAX 连接 PHP 文件,该文件对当前用户运行 db 查询,并检查在 new_password 字段中输入的密码是否与他最近 10 个密码匹配。

现在,我发现了 SugarCRM 用于将密码与存储在数据库中的散列密码匹配的那些函数。但是,问题是我不知道如何使用 AJAX 连接到 SugarCRM 中的 PHP 文件。

我想使用 onblur 函数添加 JavaScript 验证。当用户使用 onblur 输入他的新密码时,我想使用 AJAX 将该密码值发送到 PHP 文件并返回该值。当用户单击保存按钮时,如果他的新密码与他的最后一个密码匹配,它应该给出警告框,如果不匹配,它应该允许他更改他的密码。

这里有人可以指导我吗?任何帮助表示赞赏。

【问题讨论】:

    标签: php ajax validation passwords sugarcrm


    【解决方案1】:

    我已经设法找到了我想要的答案。我正在与大家分享我的代码。

    if(form.new_password.value!=''){
            $.ajax({
                url:'index.php?entryPoint=check_last_passwords',
                data:{new_password: $('#new_password').val(),
                record: $('#record').val()},
                success: function(data){
                    if(data!=''){
                        alert("Error: New password should not match with the last 10 passwords.");
                        return false;
                    }else{
                        var _form = $('#EditView')[0];
                        if (!Admin_check())
                            return false;
                        _form.action.value='Save';
                        set_chooser();
                        if(verify_data(EditView))
                            _form.submit();
                    }
                }
            });
        }
    

    【讨论】:

      【解决方案2】:

      首先,您必须存储用户的最后 10 个密码,因为在 Sugar 的默认行为中,您只会获得旧密码和新密码。

      对于 AJAX,您必须在控制器的帮助下在用户模块中创建一个操作,或者只需在 custom/modules/Users 中创建文件 actionName.php。 (参考Link)

      var URL = "index.php?module=Users&action=actionName";
      YAHOO.util.Connect.asyncRequest('POST', URL, callBack);
      var callBack = {
         success: function(){},
         failure:function(){}
      }
      

      您可以使用此代码进行 AJAX 调用,也可以使用此代码Link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-28
        • 2019-09-14
        • 1970-01-01
        • 1970-01-01
        • 2012-08-14
        • 2021-09-29
        • 2010-10-30
        相关资源
        最近更新 更多