3

我试图以这种方式覆盖 FOSUserBundle 的密码约束:

XXX/XXXBundle/Resources/config/validation.yml

XXX\XXXBundle\Entity\User:
    properties:
        username:
            - NotBlank: ~
        email:
            - NotBlank: ~
            - Email: { groups: [online] }
        plainPassword:
            - MinLength: { limit: 6, message: "Your pw must have at least {{ limit }} characters.", groups: [Registration, Profile, ResetPassword, ChangePassword] }
            - Regex: { pattern: "/(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]+/", message: "Das Passwort muss eine Ziffer und Buchstaben enthalten.", groups: [Registration, Profile, ResetPassword, ChangePassword] }

这对我不起作用。当我尝试更改密码时,接受 2 个字符。我已经尝试过使用和不使用验证组 - 没有变化。

有任何想法吗?

4

2 回答 2

2

我们使用以下方法解决了这个问题:

FOS\UserBundle\Form\Model\ChangePassword:
    properties:
        new:
            - Regex:
                pattern: "/(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9]+/"
                message: "%yourtext%."
                groups: [ChangePassword, ResetPassword]
于 2013-04-25T14:03:25.547 回答
0

我遇到了完全相同的问题,并且我的正则表达式无效,结果始终为真,因此验证通过。检查您的模式以确保其按预期工作。

于 2013-03-04T10:24:09.223 回答