【问题标题】:Symfony2 - Validation.yml with Class and Extended ClassSymfony2 - Validation.yml 与类和扩展类
【发布时间】:2012-11-21 17:01:31
【问题描述】:

我有一个“addressClass”和一个“shippingAddressClass”。 'ShippingAdress' 扩展了 'Address' 并且它们都验证相同,除非在检测到邮政信箱时'shippingAddress' 无效。虽然邮政信箱是完全有效的帐单地址,但 UPS 不会向他们发货。

假设,验证 Bird which extends Animal 的 SF2 最佳实践是什么?

我们是否应该复制我们用来验证Animal 的.yml?本质上给了我们两个完全相同的部分(见下文)。在这种情况下,gettersAnimalBird 略有不同,但 properties 需要完全相同的验证规则。

Acme\BlogBundle\Entity\Animal:
        properties:
            name:
                - NotBlank: ~
        getters:
            isAnimal:
                - "True"


Acme\BlogBundle\Entity\Bird:
        properties:
            name:
                - NotBlank: ~
        getters:
            isAnimal:
                - "True"
            isBird
                - "True"

【问题讨论】:

    标签: oop validation symfony


    【解决方案1】:

    Validator Service 很聪明,可以根据原始类的约束进行验证。所以在我的Animal,Bird 示例中,我们只需要:

    Acme\BlogBundle\Entity\Animal:
            properties:
                name:
                    - NotBlank: ~
            getters:
                isAnimal:
                    - "True"
    
    
    Acme\BlogBundle\Entity\Bird:
            getters:
                isBird
                    - "True"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多