我真的很想知道我应该如何在required_if
上使用JSON
?
我仍然对API的概念感到困惑,但是我必须完成我的任务,我已经在控制器上添加了validation
,但是它不起作用。
public function StoreReqSchedule(Request $request){
$this->validate([
'reqtype'=> 'required',
'startdate' => 'required',
'enddate' => 'required',
'reason'=> 'required_if: reqtype,==, Request Day Off',
'route' => 'required_if: reqtype,==, Request Schedule',
'actualschedule' => 'required_if:reqtype,==, Change Schedule',
'changetoschedule'=>'required_if:reqtype,==,Change schedule',
'swapcrewid'=> 'required_if:reqtype,==,Swap Schedule',
'swapcrewschedule'=>'required_if:reqtype,==,Swap Schedule',
'note'=>'required'
]);
// ...
}
如果需要,这是正确的使用方式吗?
****编辑**
每个API endpoint
都包含以下参数:
用于请求计划:
请求类型
开始日期
结束日期
原因(如果请求类型为Request Day O ff ,则为必填项)
路线(如果请求类型为“请求时间表”,则为必填)
实际时间表(如果请求类型为更改时间表,则为必填)
更改时间表(如果请求类型为更改时间表,则为必填项)
swap-crew-id(如果请求类型为“交换计划”,则为必填项)
交换组计划(如果请求类型为交换计划,则必须提供)
注释
上面列出的是任务,我很难理解如何编写如果请求类型为Request Day O ff 是强制性的,则必须编写代码。
ErrorException:的声明 App \ Http \ Controllers \ B777Controller :: validate($ request)应该是 与...兼容 App \ Http \ Controllers \ Controller :: validate(Illuminate \ Http \ Request $ request,数组$ rules,数组$ messages =数组,数组 $ customAttributes = Array)>>这是错误
答案 0 :(得分:2)
您只需要删除==,
之后的'空白',并将$request
对象传递给validate()
方法。见下文:
$this->validate($request, [
'reqtype'=> 'required',
'startdate' => 'required',
'enddate' => 'required',
'reason'=> 'required_if:reqtype,==,Request Day Off',
'route' => 'required_if:reqtype,==,Request Schedule',
'actualschedule' => 'required_if:reqtype,==,Change Schedule',
'changetoschedule'=>'required_if:reqtype,==,Change schedule',
'swapcrewid'=> 'required_if:reqtype,==,Swap Schedule',
'swapcrewschedule'=>'required_if:reqtype,==,Swap Schedule',
'note'=>'required'
]);
答案 1 :(得分:0)
我认为您没有通过$ request对象来验证功能
public function StoreReqSchedule(Request $request){
$this->validate($request,[
'reqtype'=> 'required',
'startdate' => 'required',
'enddate' => 'required',
'reason'=> 'required_if: reqtype,==, Request Day Off',
'route' => 'required_if: reqtype,==, Request Schedule',
'actualschedule' => 'required_if:reqtype,==, Change Schedule',
'changetoschedule'=>'required_if:reqtype,==,Change schedule',
'swapcrewid'=> 'required_if:reqtype,==,Swap Schedule',
'swapcrewschedule'=>'required_if:reqtype,==,Swap Schedule',
'note'=>'required'
]);
// ...
}