我想在
用户更改密码时在现有的JavaScript验证中添加一些JavaScript验证。
现在,我想使用 AJAX 连接对当前用户运行数据库查询的 PHP 文件,并检查new_password字段中输入的密码是否与他最近的 10 个密码匹配。
现在,我发现了SugarCRM用于将密码与存储在数据库中的散列密码进行匹配的功能。但是,问题是我不知道如何使用AJAX连接到SugarCRM中的PHP文件。
我想使用 onblur 函数添加 JavaScript 验证。当用户使用 onblur 输入新密码时,我想使用 AJAX 将该密码值发送到 PHP 文件并返回该值。当用户单击保存按钮时,如果他的新密码与他以前的密码匹配,它应该给出警报框,如果不是,它应该允许他更改密码。
这里有人可以很快指导我吗?任何帮助,不胜感激。
首先,您必须存储用户的最后 10 个密码,因为在 Sugar 的默认行为中,您只会获得旧密码和新密码。
对于 AJAX,您必须在控制器的帮助下在用户模块中创建操作,或者只需在自定义/模块/用户中创建文件操作名称.php。(参考链接)
var URL = "index.php?module=Users&action=actionName";
YAHOO.util.Connect.asyncRequest('POST', URL, callBack);
var callBack = {
success: function(){},
failure:function(){}
}
您可以将此代码用于 AJAX 调用,也可以使用此链接
我已经设法找到了我想要的答案。我正在与大家分享我的代码。
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();
}
}
});
}