Symfony 2.3:验证集合字段中的实体

时间:2014-02-10 15:34:06

标签: php validation symfony

我正在尝试使用validation.yml架构验证集合字段中的实体,但它不起作用。我试过两种方式。

第一种方法是使用Collection约束,但是collection字段让我觉得有些字段缺失了。

第二种方式(我认为最好的方法)是尝试使用“有效”约束来验证集合中的每个对象,但这也不起作用。

在这两种情况下,我都在默认表单选项中设置“cascade_validation”。

那么,我如何验证集合字段中的实体?

我的验证码是:

#
# Edition
#
Talim\ActivityBundle\Entity\Edition:
    properties:
        activity:
            - NotNull: ~
        accommodation:
            - NotNull:
        turns:
            - Valid: ~
        services:
            - Count:
                min: 1
        services:
            - Count:
                min: 1
        childRatio:
            - NotBlank: ~
            - Type:
                type: integer
            - GreaterThan:
                value: 1
        minAge:
            - NotBlank: ~
            - Type:
                type: integer
            - GreaterThan:
                value: 0
        maxAge:
            - NotBlank: ~
            - Type:
                type: integer
            - LessThan:
                value: 35
        specialNeeds:
            - NotNull: ~
            - Type:
                type: bool
        largeFamily:
            - NotNull: ~
            - Type:
                type: bool

#
# Turn
#
Talim\ActivityBundle\Entity\Turn:
    startAt:
        - NotBlank: ~
        - Type:
            type: string
        - Date: ~
    endAt:
        - NotBlank: ~
        - Type:
            type: string
        - Date: ~
    minPlaces:
        - NotBlank: ~
        - Type:
            type: string
    totalPlaces:
        - NotBlank: ~
        - Type:
            type: integer
        - GreaterThan:
            value: 1

1 个答案:

答案 0 :(得分:0)

我的代码出错:

Talim\ActivityBundle\Entity\Turn:
   properties: # <--- I forgot this
      startAt:
        - NotBlank: ~
        - Type:
            type: string
        - Date: ~