1. 程式人生 > >thinkphp登入和註冊都會進行唯一性驗證,怎麼處理

thinkphp登入和註冊都會進行唯一性驗證,怎麼處理

array('username','','出錯啦!帳號名稱已經存在!',0,'unique',self::MODEL_BOTH), 是說只要新增或修改的時候驗證

create時會通過是否有主鍵資料來判斷更新或新增,而登陸時一般都不會傳入主鍵的,即使用者id,所以會判斷為新增。

因為登入是過程create方法是沒有主鍵Id傳入的,Thinkphp會將登入過程使用create方法作為新增過程來進行自動驗證,導致在登入過程輸入正確的使用者名稱反而驗證不惟一。最佳操作:在登入過程不進行create方法操作,將不進行資料驗證,完全依賴前臺javascript進行過濾,過濾成功後即使錯誤資料也無所謂,因為根本不會寫入資料庫。