类似的帖子是here,但它仍然不适用于我的情况。
$v = \Validator::make($keys, [
'overall' => 'required',
'taste' => 'sometimes|required_with_all:freshness, quantity, value',
'freshness' => 'sometimes|required_with_all:taste, quantity, value',
'quantity' => 'sometimes|required_with_all:taste, freshness, value',
'value' => 'sometimes|required_with_all: taste, quantity, freshness'
]);
dd($v->fails()); //-> false should be true
我想总结一下我在做什么:
我尝试用“required_with”来做,但它不起作用。
我的示例数组是:
array:4 [
"overall" => 0
"freshness" => 1
"quantity" => 2
"value" => 3
]
随着“味道”的缺失。
那么我做错了什么?
如果我完全理解文档:
required_with_all:foo,bar,...仅当存在所有其他指定字段时,验证字段才必须存在。
这意味着:
例如。 'taste'=>'有时| required_with_all:新鲜度,数量,价值',意味着当存在新鲜度,数量,价值并且不存在参数'味道'时,将发生验证错误。
但它不......
有时:只有在数据数组中存在字段时才会验证字段。
由于taste
未在您的示例数组中显示,因此无法验证。尝试没有sometimes
'taste' => 'required_with_all:freshness, quantity, value'