Validation 如何覆盖FOSUserBundle中的密码验证
我在Symfony2项目中使用FOSUserBundle。我找不到任何关于如何覆盖表单字段验证的合理解释。我需要将密码字段验证设置为至少7个字符、至少一个小写字母、至少一个大写字母和至少一个数字。我发现alreade的所有解决方案似乎都不起作用。有什么想法吗?您应该创建一个自定义约束类,如Validation 如何覆盖FOSUserBundle中的密码验证,validation,symfony,passwords,fosuserbundle,Validation,Symfony,Passwords,Fosuserbundle,我在Symfony2项目中使用FOSUserBundle。我找不到任何关于如何覆盖表单字段验证的合理解释。我需要将密码字段验证设置为至少7个字符、至少一个小写字母、至少一个大写字母和至少一个数字。我发现alreade的所有解决方案似乎都不起作用。有什么想法吗?您应该创建一个自定义约束类,如 在isValid方法中添加正则表达式 添加自定义错误消息 使用validation.yml(如果愿意,也可以使用注释)将约束类添加到实体类中 这应该符合您的需要使用标准的Regex约束,使用以下模式/(?=.
这应该符合您的需要使用标准的
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;
}
这会添加新的约束吗?还是删除并添加?