小编the*_*ids的帖子

在表单类型中使用Symfony2 UserPassword验证程序

我试图在表单中使用特定的验证器。

该表格供用户重新定义其密码,他还必须输入其当前密码。为此,我使用来自symfony的内置验证器

以我的形式:

use Symfony\Component\Security\Core\Validator\Constraints\UserPassword;
Run Code Online (Sandbox Code Playgroud)

表单类型如下所示:

 /**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('currentpassword', 'password', array('label'=>'Current password',
            'mapped' => false,
            'constraints' => new UserPassword(array('message' => 'you wot m8?')),
            'required' => true
        ))
        ->add('password', 'repeated', array(
            'first_name' => 'new',
            'second_name' => 'confirm',
            'type' => 'password',
            'required' => true
        ))
    ;
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以在控制器中获取数据表格,获取当前密码值,调用security.encoder_factory等,但是该验证程序很方便。

我的问题是表单总是返回错误(在这里:“ you wot m8?”),就像我输入了错误的当前密码一样。

知道我在做什么错吗?

php passwords validation formbuilder symfony

5
推荐指数
1
解决办法
2428
查看次数

原则:ORM QueryBuilder或DBAL QueryBuilder

DBAL查询生成器:http : //www.doctrine-project.org/api/dbal/2.3/class-Doctrine.DBAL.Query.QueryBuilder.html

ORM查询生成器:http : //www.doctrine-project.org/api/orm/2.3/class-Doctrine.ORM.QueryBuilder.html

在Doctrine中,有两个非常相似的QueryBuilder,一个是DBAL,另一个是ORM。

那两个有什么区别?与DBAL相比,使用ORM queryBuilder是否有很大的开销?

(本地查询是毫无疑问的,因为我需要使用动态where语句)

orm query-builder symfony doctrine-orm dbal

3
推荐指数
2
解决办法
3036
查看次数

3
推荐指数
1
解决办法
3273
查看次数