用于比较密码sha1的sfValidator

时间:2011-08-31 20:34:12

标签: php symfony1 doctrine validation

我想根据Symfony / Doctrine验证器创建登录面板。

我找到了一些东西:

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

这是在UserForm.class.php

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

您似乎正在尝试创建一个登录表单吗?你有两个密码字段(如'password'和'password_again')吗?

如果没有,则不应使用sfValidatorSchemaCompare。

答案 2 :(得分:0)

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

并将其放在验证结束时

$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')));