我想根据Symfony / Doctrine验证器创建登录面板。
我找到了一些东西:
new sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL, 'password_again')
这是在UserForm.class.php
中这里password_again是输入password_again的值。如何从数据库中获取此值?我在SHA1中使用数据库密码哈希。
答案 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')));