【问题标题】:CakePHP validation rule to match field1 and field2CakePHP 验证规则以匹配 field1 和 field2
【发布时间】:2011-10-11 04:23:30
【问题描述】:

我正在制作一个密码重置表单,其中包含两个字段:password1 和 password2。用户输入新密码,然后再次重新输入新密码。

我不确定如何制定一个验证规则来比较字段中的两个值并查看它们是否相同。

【问题讨论】:

    标签: validation cakephp passwords


    【解决方案1】:

    如果您使用的是 Auth 组件,那么您需要在控制器中对第二个密码进行哈希处理,因为密码会自动进行哈希处理。

    要比较 2 个字段,您需要编写自定义验证规则:http://bakery.cakephp.org/articles/aranworld/2008/01/14/using-equalto-validation-to-compare-two-form-fields(也请阅读 cmets,因为教程本身有点旧)

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 将它们升级到 2.x 后,文件夹名称有所不同。谢谢通知。
      【解决方案3】:

      恕我直言,在这种情况下,创建一个单独的规则比创建一个单独的规则更麻烦。如果您想编写“纯”CakePHP 代码,您可以这样做,但比较控制器中的字段并在它们不匹配时手动使其中一个字段无效会更容易:

      if( $this->data[ 'User' ][ 'password1' ] != $this->data[ 'User' ][ 'password2' ] ) {
          $this->User->invalidate( 'password2', "The passwords don't match." );
      }
      

      【讨论】:

      • 是的,但不幸的是还有很多其他的验证规则,我不想把控制器弄得一团糟。
      猜你喜欢
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      相关资源
      最近更新 更多