我有一个相当大的表单来构建,并且在选择特定选项时,只有选择了该选项时,才需要验证表单的certian部分。如果我不需要,我怎样才能确保跳过这些验证呢?
答案 0 :(得分:0)
制作一个“巨大的”验证方法,然后进入验证本身,检查“选定的选项”:如果有的话,检查“子条件”
像
这样的东西use Symfony\Component\Validator\Constraints as Assert;
/**
*
* @Assert\Callback(methods={"isValid"})
*/
class ObjectRelatedToYourForm
{
[...]
public function isValid(ExecutionContext $context)
{
if ($this->optionOneSelected) {
//perform controls and add violation in case of failure
}
if ($this->optionTwoSelected) {
//perform controls and add violation in case of failure
}
}
}