我有一个输入值,可以是数据库中存在的实际ID,也可以是表示特殊情况的0。
无论如何,如果此值不是空发送的,我需要使用类似的方法来验证它
Validator::make($data, [
'item_id.*' => 'required|in:0[OR]exists:items_table,id',
]);
问题是我没有找到有关如何执行此操作的任何文档“ [OR]
” 。我设法找到的几乎所有内容都与针对其他键进行测试或针对不存在“或”的显式数组检查 just 相关。
注意::这不是 required_if / unless 的不是情况,因为我需要对照当前测试的值,而不是其他键。
注意2::此页面:https://laravel.com/docs/5.8/validation没有提供答案
答案 0 :(得分:1)
可能的解决方案之一是创建自定义验证规则,该规则将检查所需的值。您可以获取有关here
的更多信息答案 1 :(得分:0)
您可以轻松地为该变量编写自己的验证规则。像这样:
if (!empty($data->item_id)){
if($data->item_id<>0 || $data->item_id <not in list of values>){
return Redirect::back()->withErrors('error messages here')->withInput();
}
}