Validation Symfony断言集合或
我有一个Symfony assert集合,其中有两个字段,我需要至少出现这两个字段中的一个,我遇到的问题是,在集合中,除非设置为可选项,否则所有项都是必需的,但除非您提供了字段,否则不会触发可选项中的任何验证。关于如何实现非此即彼或类型验证器,有什么想法吗 谢谢强> 顺便说一句,我很快就知道了它是如何工作的,但即使指定了验证,required仍然会首先被解雇Validation Symfony断言集合或,validation,symfony,Validation,Symfony,我有一个Symfony assert集合,其中有两个字段,我需要至少出现这两个字段中的一个,我遇到的问题是,在集合中,除非设置为可选项,否则所有项都是必需的,但除非您提供了字段,否则不会触发可选项中的任何验证。关于如何实现非此即彼或类型验证器,有什么想法吗 谢谢 顺便说一句,我很快就知道了它是如何工作的,但即使指定了验证,required仍然会首先被解雇 new Assert\Collection([ 'html' => [ new Assert\Callback(
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']);
}])
]
])
当两个中只有一个是真正需要的时,你不能说这两个本身都是需要的。 您必须同时设置这两个选项,然后确保至少设置了一个选项。我强烈建议您为它编写自己的自定义验证
看看这里是怎么做的:我将如何使用这个新的自定义验证器?我没有实体可以附加它。您打算如何使用Assert\Collection?