[英]how to use required_if validation in Laravel?
我真的很想知道我应该如何在JSON
上使用required_if
?
我仍然对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
包含以下参数:
对于请求时间表:
请求类型
开始日期
结束日期
原因( 如果请求类型为“请求日O ff”,则为必需 )
路线( 如果请求类型为“请求时间表”,则为强制 )
实际时间表(如果请求类型更改时间表,则为必填)
更改时间表(如果请求类型为更改时间表,则为必填)
swap-crew-id(如果请求类型为“交换计划”,则必须提供)
swap-crew-schedule(如果请求类型为“ Swap Schedule”,则为必需)
注意
上面的那些列表是任务, 如果请求类型为Request Day O ff和其他强制性ofc,我很难理解如何编写强制性代码。
ErrorException:App \\ Http \\ Controllers \\ B777Controller :: validate($ request)的声明应与App \\ Http \\ Controllers \\ Controller :: validate(Illuminate \\ Http \\ Request $ request,数组$ rules,数组$ messages = Array兼容,array $ customAttributes = Array)>>这是错误
您只需要删除==,
之后的“空白” ==,
然后将$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'
]);
我认为您没有通过$ 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'
]);
// ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.