我想知道如何根据定义的验证规则检查任意密码validation.xml
。我创建了一个管理员页面,管理员用户可以在其中创建其他管理员用户。/register
我想使用匿名用户在页面上注册自己的帐户时使用的相同规则来验证这些用户。据我所知,这些规则是在validation.xml
.
所以基本上我想做这样的事情:
$userManager = $container->get('fos_user.user_manager');
$user = $userManager->createUser();
$user->setPlainPassword('1');
$arrayOfErrors = functionThatValidatesUserPassword($user);
甚至像这样直接在密码上调用函数:
$arrayOfErrors = functionThatValidatesUserPassword('1');
我应该用什么来代替functionThatValidatesUserPassword
这里?
我认为验证器服务可能会起作用,但是当我尝试时
$validator = $this->get('validator');
$errors = $validator->validate($user);
print_r($errors);exit;
我只是得到一个空的错误列表。我原以为会看到“密码太短”的错误,如果您在/register
页面上注册一个具有相同密码的帐户,就会出现这种情况。
我在 Symfony 3.4 和 FosUserBundle 2.0 上。
在搜索我的问题的答案时,我发现以下两篇文章描述了如何覆盖validation.xml
文件中定义的规则。
我确实计划覆盖验证规则,但现在我只想使用 FosUserBundle 附带的内置规则来验证我的密码。