我试图在表单中使用特定的验证器。
该表格供用户重新定义其密码,他还必须输入其当前密码。为此,我使用来自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?”),就像我输入了错误的当前密码一样。
知道我在做什么错吗?
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语句)
如何在服务中注入请求或执行上下文?
symfony ×2
dbal ×1
doctrine-orm ×1
formbuilder ×1
javascript ×1
nestjs ×1
node.js ×1
orm ×1
passwords ×1
php ×1
typescript ×1
validation ×1