我有一个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']);
}])
]
])
答案 0 :(得分:0)
当真正只需要一个时,你不能说这两者本身都是必需的。 您必须同时设置可选项,然后确保至少设置了一个。我强烈建议您为它编写自己的自定义验证。
了解它是如何完成的:http://symfony.com/doc/current/cookbook/validation/custom_constraint.html