我已經搜索了很多,試圖在書中的每一個技巧,但我仍然無法讓我的CakePHP應用程序執行簡單的密碼確認驗證。我試圖創建這樣一個自定義的驗證規則:密碼確認驗證CakePHP
'passwordequal' => array('rule' => 'checkpasswords' , 'message' => 'Passwords Do Not Match')
然後定義「checkpasswords」是這樣的:
public function checkpasswords(){
if(strcmp($this->data['User']['new_password'],$this->data['User']['confirm_password']) == 0)
{
return true;
}
return false;
}
「NEW_PASSWORD」和「confirm_password」是密碼輸入字段。這沒有奏效。然後我嘗試了一個我在其中散列'confirm_password'的東西。那也行不通。我還有其他'規則',以及沒有被驗證的'notempty',我認爲它是標準的CakePHP規則之一。任何人都可以請幫忙。我知道這個問題已被問了幾次,但這些解決方案都沒有爲我工作。 CakePHP文檔也沒有太多幫助。
你有沒有輸出這些值,看看是否是由您的方法比較之前正確讀取? –
你能向我們展示一個失敗的'$ this-> data'輸入的例子嗎?你也應該展示你的整個模型類代碼。 – Derek
你可以在這裏找到提示,代碼示例以及完整的工作行爲:http://www.dereuromark.de/2011/08/25/working-with-passwords-in-cakephp/ – mark