Как запретить пользователю вводить предыдущие пароли в поле нового пароля, используя ajax в sugarcrm?

Я хочу добавить некоторые проверки JavaScript в существующие проверки JavaScript, когда пользователь изменяет свой пароль.

Теперь я хочу использовать AJAX для соединения с PHP-файлом, который запускает запрос db к текущему пользователю и проверяет, совпадает ли введенный пароль в поле new_password с его последними 10 паролями.

Теперь я обнаружил те функции, которые SugarCRM использует для сопоставления паролей с хешированными паролями, хранящимися в базе данных. Но проблема в том, что я не знаю, как использовать AJAX для подключения к файлу PHP в SugarCRM.

Я хочу добавить проверку JavaScript с помощью функции onblur. Когда пользователь вводит свой новый пароль, используя onblur, я хочу отправить это значение пароля в файл PHP с помощью AJAX и вернуть это значение. И когда пользователь нажимает кнопку «Сохранить», он должен показывать окно предупреждения, если его новый пароль совпадает с его последними паролями, и если нет, он должен позволять ему менять свой пароль.

Может кто-нибудь здесь направить меня в ближайшее время? Любая помощь приветствуется.

0

Решение

Прежде всего, вам нужно сохранить последние 10 паролей пользователей, потому что в стандартном поведении Sugar вы получите только Старый пароль и Новый пароль.

Для AJAX вы должны создать действие в модуле Users с помощью контроллера или просто создать файл actionName.php в пользовательские / модули / Пользователи. (Ref Ссылка на сайт)

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

Вы можете использовать этот код для вызова AJAX или вы можете также Ссылка на сайт

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();
}
}
});
}
0

По вопросам рекламы [email protected]