Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony验证-条件约束_Php_Symfony - Fatal编程技术网

Php Symfony验证-条件约束

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

我有一个值,可以是布尔值、int值或字符串值。根据类型,应进行额外验证-例如:如果值为
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?(这可能有助于我们在一个简单的解决方案上指导您)没有表单,我在原始值上使用验证器。