简体   繁体   English

使用Yaml进行Symfony声明验证

[英]Symfony Assert validation with yaml

I have mapped my entity with yaml and I'm using the assert to add some constraint for certain field. 我已经用yaml映射了我的实体,并且正在使用assert为某些字段添加一些约束。

So I follow the documentation and put my validation in this file: 因此,我按照文档进行操作并将我的验证放入此文件中:

# src/AppBundle/Resources/config/validation.yml it works... # src/AppBundle/Resources/config/validation.yml工作正常...

But I want to separate my validation. 但是我想分开验证。 I need one file for one entity. 一个实体需要一个文件。

So I did it that way: 所以我这样做了:

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

But it does not seem to work that way. 但这似乎不起作用。

Here one of my file: 这是我的文件之一:

# 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: ~

How can I do that? 我怎样才能做到这一点?

This works natively since symfony 2.7 https://github.com/symfony/symfony/pull/13855 自symfony 2.7起本机运行https://github.com/symfony/symfony/pull/13855

The problem was because match was to false 问题是因为匹配是错误的

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM