为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel Validator存在或等于/ conditonal或

Laravel Validator存在或等于/ conditonal或

PHP
犯罪嫌疑人X 2021-05-06 17:20:03
我有一个输入值,该值可以是数据库中存在的实际ID,也可以是0(表示特殊情况)。无论如何,如果将此值发送为非空值,则需要使用类似以下内容的值对其进行验证Validator::make($data, [    'item_id.*' => 'required|in:0[OR]exists:items_table,id',]);问题是我没能找到如何做到这一点的任何文档“ [OR]”。我设法找到的几乎所有内容都与针对其他键进行测试或仅针对不存在“或”的显式数组进行检查有关。注意:这不是required_if /的情况,除非我需要根据当前测试的值而不是其他键进行检查。注意2:此页面:https ://laravel.com/docs/5.8/validation没有提供答案
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

一种可能的解决方案是创建自定义验证规则,该规则将检查所需的值。您可以在此处获取有关信息的更多信息


查看完整回答
反对 回复 2021-05-14
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以轻松地为该变量编写自己的验证规则。像这样的东西:


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();

    }

}


查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信