0

我只想覆盖 symfony2 默认验证消息中的一条消息,即:

该值应该是用户当前密码。

这条消息有一个键security.validator.user_password,我试图通过创建来覆盖这条消息BundleName/Resources/config/security.yml

BundleName/Resources/config/security.yml

security:
    validator:
        user_password: custom message 

我尝试了 xml 文件并清除了缓存,但我什么也没得到。

有什么建议么 ?

4

2 回答 2

1

我认为你可以在你的包配置中使用validation.yml文件来覆盖,就像symfony2 doc上说的那样。

### src/UserBundle/Resources/config/validation.yml
Acme\UserBundle\Form\Model\ChangePassword:
properties:
   oldPassword:
       - Symfony\Component\Security\Core\Validator\Constraints\UserPassword:
           message: "Wrong value for your current password"
于 2013-10-08T11:15:15.200 回答
0

当使用 FOSUserBundle 作为我的用户包的父级时,我找到了一个解决方案:

# Acme\UsersBundle\config\validation.yml
Acme\UsersBundle\Entity\User:
    properties:
        password:
            - Symfony\Component\Security\Core\Validator\Constraints\UserPassword:
                message: Please check your current password and try again

此模式可用于覆盖在该实体中给定字段的验证失败时显示的任何默认字符串。

所以澄清一下:

  • Acme\UsersBundle\Entity\User:进行验证的实体
  • 密码:您正在验证的实体属性的名称
  • Symfony\etc:实际进行验证的类
  • 消息:您要覆盖的内容

希望这可以帮助!

于 2014-03-27T14:39:56.743 回答