Symfony - 如何从EntityName.orm.yml加载值并将它们设置为validation.yml

时间:2017-02-21 13:37:48

标签: php validation symfony orm

假设我有一个带有字符串属性Travel的实体destination,其长度应为100个字符: Travel.php

class Travel{
    ...

    /**
    *
    * @var string
    */
    private $destination;
    ...
}

我已经在Travel.orm.yml

中定义了长度
Project\Bundle\MyBundle\Entity\Travel:
  ...
  fields:
    ...
    destination:
      type: string
      length: 100

现在我在validation.yml

内手动设置验证值
Project\Bundle\MyBundle\Entity\Travel:
  properties:
    ...
    destination:
       ...
       - Length:
            max: 100
            maxMessage: ...

我现在想要的是我只是依赖于.orm.yml文件所以我只需要在那里更改值。

如何根据validation.yml内的值设置Travel.orm.yml内的值?

1 个答案:

答案 0 :(得分:0)

您正在将db映射与实体验证混合在一起。您可以使用注释并在实体上进行映射和验证,也可以删除映射的长度,并仅依赖于验证。确保验证约束的任何默认映射值都可以。例如,你在约束上允许500个字符,但在映射

上只允许255个字符