我正在創建一個密碼重置表單,其中包含兩個字段:password1和password2。用戶輸入新密碼,然後重新輸入新密碼。CakePHP驗證規則匹配field1和field2
我不知道如何制定一個驗證規則,將比較字段中的兩個值,看看它們是否相同。
我正在創建一個密碼重置表單,其中包含兩個字段:password1和password2。用戶輸入新密碼,然後重新輸入新密碼。CakePHP驗證規則匹配field1和field2
我不知道如何制定一個驗證規則,將比較字段中的兩個值,看看它們是否相同。
如果您使用的是Auth組件,那麼您需要在控制器中散列第二個密碼,因爲密碼將被自動散列。
比較2場,你需要編寫一個自定義的驗證規則:http://bakery.cakephp.org/articles/aranworld/2008/01/14/using-equalto-validation-to-compare-two-form-fields(閱讀註釋也,因爲教程本身是慈祥的老人)
恕我直言,這是更多的麻煩比價值創造一個單獨的規則這個案例。你可以,如果你想要編寫「純」 CakePHP的,但它更容易只是比較場控制器和手動它們無效之一,如果它們不匹配:
if($this->data[ 'User' ][ 'password1' ] != $this->data[ 'User' ][ 'password2' ]) {
$this->User->invalidate('password2', "The passwords don't match.");
}
是的,但不幸的是有很多其他的驗證規則,我不想與他們一起弄亂控制器。 – BadHorsie
知府,謝謝。 – BadHorsie