【发布时间】:2019-12-16 19:22:21
【问题描述】:
我真的很想知道我应该如何在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'
]);
// ...
}
这是使用 required if 的正确方法吗?
****编辑**
每个API endpoint 都包含这个参数:
对于请求时间表:
请求类型
开始日期
结束日期
原因(如果请求类型为 Request Day Off,则为必填项)
路由(如果请求类型为请求时间表则为必填)
actual-schedule(如果请求类型更改时间表则为必填项)
change-to-schedule(如果请求类型为 Change Schedule,则为必填项)
swap-crew-id(如果请求类型为 Swap Schedule,则为必填项)
swap-crew-schedule(如果请求类型为 Swap Schedule,则为必填)
注意
上面的那些列表是任务,我很难理解如何编写 Mandatory if request type Request Day Off 和其他强制 ofc 的代码。
ErrorException:声明 App\Http\Controllers\B777Controller::validate($request) 应该是 兼容 App\Http\Controllers\Controller::validate(Illuminate\Http\Request $request, 数组 $rules, 数组 $messages = 数组, 数组 $customAttributes = Array) >> 这是错误
【问题讨论】:
-
ErrorException: App\Http\Controllers\B777Controller::validate($request) 的声明应该与 App\Http\Controllers\Controller::validate(Illuminate\Http\Request $request, 数组兼容$rules, array $messages = Array, array $customAttributes = Array) >> 这是错误