Symfony:通过有效和计数约束进行集合验证

时间:2015-11-17 05:28:25

标签: validation symfony symfony-forms orocrm symfony-validator

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

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

问题:

当我尝试保存BusinessTrip表单并添加了几个用户时,有一个验证错误说'我必须为此商务旅行指定最少一个用户(计数约束)。 但是已经有几个用户了。

如果我禁用Count约束(在validation.yml中注释它)一切正常,用户可以使用Valid约束成功验证。但我需要这个验证。 也许某人已经遇到并解决了这个问题?

来源:

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

1 个答案:

答案 0 :(得分:0)

解决

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

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