我在Symfony2项目中使用FOSUserBundle。我找不到任何合理的解释如何覆盖表单字段验证。我需要将密码字段验证设置为至少7个字符,至少一个小写字母,至少一个大写字母和至少一个数字。我找到的解决方案似乎没有任何解决方案。有什么想法吗?
答案 0 :(得分:14)
使用具有以下模式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;
}
答案 1 :(得分:1)
你应该创建一个自定义约束类,如described in documentation
应该符合您的需求