Regex Symfony-一条消息用于多个断言
我有:Regex Symfony-一条消息用于多个断言,regex,symfony,assert,Regex,Symfony,Assert,我有: /** * @Assert\Length( * min = 8, * minMessage = "message.erreur.affich1" * ) * @Assert\Length( * max = 20, * maxMessage = "message.erreur.affich1" * ) * @Assert\Regex( * pattern="/(?=.*\d)(?=.*[a-zA-Z])/", *
/**
* @Assert\Length(
* min = 8,
* minMessage = "message.erreur.affich1"
* )
* @Assert\Length(
* max = 20,
* maxMessage = "message.erreur.affich1"
* )
* @Assert\Regex(
* pattern="/(?=.*\d)(?=.*[a-zA-Z])/",
* match=true,
* message="message.erreur.affich1"
*
* )
*/
private $plainPassword;
我想为这3种情况显示一条消息,但我不能。
我有3次出现相同的消息
如何做到这一点,即使不遵守这3个条件,也只显示1条错误消息?
我唯一的解决办法可能是用正则表达式做所有的事情
谢谢你,你可以创建一个自定义的验证约束,在这里你可以检查所有三个断言,并在需要的时候应用错误消息。要同时对所有三个条件使用单个自定义断言,需要创建一个应用于整个实体的“类”验证器。这里是文档链接-您有两个选项:
因此,如果您对1或2不满意,您必须立即向我们提供更多详细信息。不相关的问题:为什么密码有一个最大长度?如果消息相同,您可以在@Assert\length中组合最小值和最大值