Symfony断言集合或者

时间:2015-12-09 16:17:05

标签: validation symfony

我有一个Symfony断言集合,其中我有两个字段,我需要至少这两个字段中的一个存在,我遇到的问题是在集合中所有项目都是必需的除非设置为可选,否则除非您提供了字段,否则不会触发可选内的任何验证。关于如何实现任何一个或类型验证器的任何想法?

谢谢!

另外,我可以快速了解一下我的图像是如何工作的,但即使指定了验证,仍然需要首先解雇。

new Assert\Collection([
    'html' => [
        new Assert\Callback([function() {

                $data = $this->getData();

                return isset($data['html']) or isset($data['plain']);
            }])
    ]
    'plain' => [ 
        new Assert\Callback([function() {

                $data = $this->getData();

                return isset($data['html']) or isset($data['plain']);
            }])
    ]
])

1 个答案:

答案 0 :(得分:0)

当真正只需要一个时,你不能说这两者本身都是必需的。 您必须同时设置可选项,然后确保至少设置了一个。我强烈建议您为它编写自己的自定义验证。

了解它是如何完成的:http://symfony.com/doc/current/cookbook/validation/custom_constraint.html