【问题标题】:Symfony Assert validation with yaml使用 yaml 进行 Symfony 断言验证
【发布时间】:2023-03-19 06:17:01
【问题描述】:

我已经用 yaml 映射了我的实体,并且我正在使用断言为某些字段添加一些约束。

所以我按照文档并将我的验证放在这个文件中:

# src/AppBundle/Resources/config/validation.yml 它有效...

但我想分开我的验证。我需要一个文件用于一个实体。

所以我就这样做了:

# src/AppBundle/Resources/config/validation/DeliveryAddress
# src/AppBundle/Resources/config/validation/BillingAddress

但它似乎不是那样工作的。

这是我的一份文件:

# src/AppBundle/Resources/config/validation/DeliveryAddress.yml
AppBundle\Entity\DeliveryAddress:
    properties:
        address:
            - NotBlank: ~
        zipCode:
            - NotBlank: ~
            - Regex:
                pattern: '/^[0-9]{5}$/'
                match: false
                message: 'Le code postal que vous avez saisi n’est pas valide'
        town:
            - NotBlank: ~
        firstName:
            - NotBlank: ~
        lastName:
            - NotBlank: ~

我该怎么做?

【问题讨论】:

  • 以 '#' 开头的行是 YAML 中的注释行,你确定这是由 Symfony 加载和插入的吗?您是否尝试将 # src/AppBundle/Resources/config/validation.yml 更改为 # src/AppBundle/Resources/config/notthere.yml 并检查是否禁止加载。
  • 我知道@Anthon 这只是一个例子,向你展示我的文件放在哪里,我会更新我的帖子

标签: symfony validation yaml


【解决方案1】:

这从 symfony 2.7 开始就可以使用了 https://github.com/symfony/symfony/pull/13855

问题是因为匹配错误

zipCode:
   - NotBlank: ~
   - Regex:
       pattern: '/^[0-9]{5}$/'
       match: false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 2022-11-04
    • 2020-09-18
    • 2014-03-29
    相关资源
    最近更新 更多