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 に答える