代码之家  ›  专栏  ›  技术社区  ›  Thomas Landauer dbNine

原则:在实体断言错误消息中使用常量

  •  0
  • Thomas Landauer dbNine  · 技术社区  · 6 年前

    是否可以在断言的错误消息中引用类常量?我所做的一切都没有奏效:

    1. @Assert\GreaterThan(value="foo", message="It is {User::FOO})"
    2. @Assert\GreaterThan(value="foo", message="It is" . User::FOO)"

    结果:

    1. 显示器 It is {User::FOO}) 从字面上说。
    2. 引发异常 [Syntax Error] Expected Doctrine\Common\Annotations\DocLexer::T_CLOSE_PARENTHESIS, got '.'
    1 回复  |  直到 6 年前
        1
  •  0
  •   Thomas Landauer dbNine    6 年前

    可以为消息使用常量-只是不能将其与自定义文本组合。所以解决方法是:

    @Assert\GreaterThan(value="foo", message=User::ERROR_MESSAGE)
    

    注: self::ERROR_MESSAGE 不起作用。

    然后定义两个常量如下:

    const FOO = 'foo';
    const ERROR_MESSAGE = 'It is ' . self::FOO;