【问题标题】:Symfony - How to load values out of EntityName.orm.yml and set them into validation.ymlSymfony - 如何从 EntityName.orm.yml 中加载值并将它们设置为 validation.yml
【发布时间】:2017-02-21 13:37:47
【问题描述】:

假设我有一个实体 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 文件,所以我只需要更改那里的值。

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

【问题讨论】:

    标签: php validation symfony orm


    【解决方案1】:

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

    【讨论】:

    • 就像您发现依赖关系或多或少已经存在一样。我的问题更多地指向如何做到这一点而不是我应该这样做....
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2016-10-10
    • 2018-12-21
    • 1970-01-01
    相关资源
    最近更新 更多