0

今天我遇到了表单集合验证的奇怪问题(symfony 2.7.3)

我已将 validation.yml 配置为验证 BusinessTrip 表单。此表单包含一个包含 BusinessTripUser 表单集合的字段,用于指定用户及其商务旅行目标。

问题:

当我尝试保存将多个用户添加到集合中的 BusinessTrip 表单时,出现验证错误,提示我必须为此出差指定至少一个用户(计数约束)。但是已经有几个用户了。

如果我禁用计数约束(在validation.yml 中对其进行注释)一切正常,则用户将通过有效约束成功验证。但我需要这个验证。也许有人已经遇到并解决了这个问题?

来源:

OQ\BusinessTripBundle\Entity\BusinessTrip:
    properties:
        users:
            - Valid: ~
            - Count:
                min: 1
                minMessage: Specify at least one employee 

OQ\BusinessTripBundle\Entity\BusinessTripUser:
    properties:
        description:
            - NotBlank:
                message: Specify the employee role in this business
        user:
            - NotNull:
                message: Specify the employee
4

1 回答 1

0

解决了

我的项目的客户端验证机制(jQuery Validate Plugin)无法正确处理针对集合字段的计数约束。所以,这不是 symfony 的问题。

现在我通过 getter 约束和相应的方法实现了这个检查,检查 ArrayCollection 中是否存在任何用户。这个检查工作完美,但在后端。

于 2015-11-17T08:33:14.557 回答