我想在用户更改密码时在现有JavaScript验证中添加一些JavaScript验证。
现在,我想使用AJAX连接PHP文件,该文件对当前用户运行db查询,并检查new_password字段中输入的密码是否与他最近10个密码匹配。
<现在,我发现了SugarCRM用来匹配密码和存储在数据库中的散列密码的函数。但是,问题是我不知道如何使用AJAX连接到SugarCRM中的PHP文件。
我想使用onblur函数添加JavaScript验证。当用户输入他的新密码时,使用onblur,我想使用AJAX将该密码值发送到PHP文件并返回该值。当用户点击保存按钮时,如果他的新密码与他的上一个密码匹配,它应该给出警告框,如果没有,则应该允许他更改密码。
这里有人可以指导我吗?任何帮助表示赞赏。
答案 0 :(得分:0)
首先,您必须存储用户的最后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
答案 1 :(得分:0)
我已经设法找到了我想要的答案。我和你们分享我的代码。
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();
}
}
});
}