【发布时间】:2013-02-06 23:21:16
【问题描述】:
我在 Symfony2 项目中使用 FOSUserBundle。我找不到任何合理的解释如何覆盖表单字段验证。我需要将密码字段验证设置为至少 7 个字符、至少一个小写字母、至少一个大写字母和至少一个数字。我发现的所有解决方案似乎都不起作用。有什么想法吗?
【问题讨论】:
标签: validation symfony passwords fosuserbundle
我在 Symfony2 项目中使用 FOSUserBundle。我找不到任何合理的解释如何覆盖表单字段验证。我需要将密码字段验证设置为至少 7 个字符、至少一个小写字母、至少一个大写字母和至少一个数字。我发现的所有解决方案似乎都不起作用。有什么想法吗?
【问题讨论】:
标签: validation symfony passwords fosuserbundle
你应该创建一个自定义约束类,比如described in documentation
应该满足你的需要
【讨论】:
使用标准的Regex 约束和以下模式/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/
class User extends FOSUser
{
/**
* @Assert\Regex(
* pattern="/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,}/",
* message="Password must be seven or more characters long and contain at least one digit, one upper- and one lowercase character."
* )
*/
protected $plainPassword;
}
【讨论】: