CakePHP 验证规则匹配 field1 和 field2
我正在制作一个密码重置表单,其中包含两个字段:password1 和password2。用户输入新密码,然后再次重新输入新密码。
我不确定如何制定验证规则来比较字段中的两个值并查看它们是否相同。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在制作一个密码重置表单,其中包含两个字段:password1 和password2。用户输入新密码,然后再次重新输入新密码。
我不确定如何制定验证规则来比较字段中的两个值并查看它们是否相同。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
恕我直言,在这种情况下创建单独的规则更麻烦而不值得。如果您想编写“纯”CakePHP 代码,您可以这样做,但比较控制器中的字段并在它们不匹配时手动使其中之一无效更容易:
IMHO it's more trouble than worth to create a separate rule in this case. You could, if you want to code "pure" CakePHP, but it's easier to just compare the fields in the controller and invalidate one of them manually if they don't match:
如果您使用 Auth 组件,那么您需要在控制器中对第二个密码进行哈希处理,因为密码将自动进行哈希处理。
要比较 2 个字段,您需要编写自定义验证规则: http://bakery.cakephp.org/articles/aranworld/2008/01/14/using-equalto-validation-to-compare-two-form-fields(另请阅读评论,因为教程本身有点旧)
if you are using Auth component then you need to hash the second password in the controller, because the password will be automatically hashed.
To compare 2 fields, you need to write a custom validation rule: http://bakery.cakephp.org/articles/aranworld/2008/01/14/using-equalto-validation-to-compare-two-form-fields (read the comments also, because the tutorial itself is kind of old)
我恰好在两天前为此写了一个行为:
https://github.com/dereuromark/tools/blob/master /Model/Behavior/PasswordableBehavior.php
一些示例代码如何使用它:
http://www.dereuromark.de/2011/ 08/25/working-with-passwords-in-cakephp/
I just happen to have written a behavior for this 2 days ago:
https://github.com/dereuromark/tools/blob/master/Model/Behavior/PasswordableBehavior.php
some sample code how to use it:
http://www.dereuromark.de/2011/08/25/working-with-passwords-in-cakephp/