我正在创建一个密码重置表单,其中包含两个字段: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