【问题标题】:sfValidator for compare password sha1用于比较密码 sha1 的 sfValidator
【发布时间】:2011-08-31 20:34:11
【问题描述】:

我想制作基于 Symfony/Doctrine 验证器的登录面板。

我发现了一些东西:

new sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL, 'password_again')

这是在 UserForm.class.php 中

这里的password_again 是输入password_again 的值。如何从数据库中获取此值?我有 SHA1 的数据库密码哈希。

【问题讨论】:

  • 你想做什么?根据数据库检查密码,还是要求用户在选择密码时再次重复密码?

标签: php symfony1 doctrine validation


【解决方案1】:

请查看 symfony 的 sfDoctrineGuardPlugin(或 sfGuardPlugin,如果您使用 Propel ORM),您会找到所需的一切。

  • 登录表单
  • 密码验证
  • 组和权限
  • ....

http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin

【讨论】:

    【解决方案2】:

    您似乎正在尝试制作登录表单,对吗?您在此表单中是否有两个密码字段(如“密码”和“再次密码”)?

    如果不是,您不应该使用 sfValidatorSchemaCompare。

    【讨论】:

      【解决方案3】:

      创建两个字段密码并确认密码

      并将其放在验证的末尾

      $this->validatorSchema['confirm_password'] = clone
          $this->validatorSchema['password'];
          $this->widgetSchema->moveField('confirm_password', 'after', 'password');
          $this->mergePostValidator(
              new sfValidatorSchemaCompare(
                  'password', sfValidatorSchemaCompare::EQUAL, 'confirm_password',
                  array(), array('invalid' => 'Password does not match! Please retype')));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-16
        • 2017-10-31
        • 2011-03-03
        • 2017-02-25
        • 2013-05-26
        • 2012-11-01
        • 1970-01-01
        • 2012-06-26
        相关资源
        最近更新 更多