Php Symfony验证-条件约束
我有一个值,可以是布尔值、int值或字符串值。根据类型,应进行额外验证-例如:如果值为Php Symfony验证-条件约束,php,symfony,Php,Symfony,我有一个值,可以是布尔值、int值或字符串值。根据类型,应进行额外验证-例如:如果值为true则类型验证是唯一应用的约束,但如果值为3则我还希望应用范围约束 差不多 $this->validator->validate($value, [new Type(['int', 'string', 'boolean'], new Range(['min' => 0, 'max' => 2)); 不起作用,因为每个值都检查了正确的范围,如果该值类似于“true”,则没有意义或fa
true
则类型
验证是唯一应用的约束,但如果值为3
则我还希望应用范围
约束
差不多
$this->validator->validate($value, [new Type(['int', 'string', 'boolean'], new Range(['min' => 0, 'max' => 2));
不起作用,因为每个值都检查了正确的范围,如果该值类似于
“true”,则没有意义
或false
您应该首先检查值的类型,然后:根据该检查设置适当的验证组或手动添加contstraint。或者为您的用例创建自定义验证如果您在symfony form data transformer中缺少一些关键概念,为什么需要在表单类型中使用3 type?(这可能有助于我们在一个简单的解决方案上指导您)没有表单,我在原始值上使用验证器。