2014-12-02 79 views
0

我想在用戶更改密碼時在現有JavaScript驗證中添加一些JavaScript驗證。

現在,我想使用AJAX連接PHP文件,該文件針對當前用戶運行db查詢,並檢查在new_password字段中輸入的密碼是否與他最近的10個密碼匹配。

現在,我發現了SugarCRM用來將密碼與存儲在數據庫中的散列密碼相匹配的功能。但是,問題是我不知道如何使用AJAX連接到SugarCRM中的PHP文件。

我想使用onblur函數添加JavaScript驗證。當用戶使用onblur輸入他的新密碼時,我想使用AJAX將該密碼值發送到PHP文件並返回該值。當用戶點擊保存按鈕時,如果他的新密碼與他最後的密碼相匹配,它應該給出警報框,如果沒有,它應該允許他改變他的密碼。

這裏有人能指導我嗎?任何幫助表示讚賞。如何防止用戶在sugarcrm中使用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

首先你必須保存用戶的最後10個密碼,因爲在Sugar的默認行爲中,你只能得到舊密碼和新密碼。

對於AJAX,你必須創建在用戶模塊控制器的幫助下行動或只是定製/模塊/用戶創建文件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

相關問題