Php 如何在Laravel中使用所需的验证?
我真的很想知道如果Php 如何在Laravel中使用所需的验证?,php,json,laravel,Php,Json,Laravel,我真的很想知道如果JSON上有required\u,我该如何使用 我仍然对API的概念感到困惑,但我必须完成我的任务,我在我的控制器上添加了验证,但它不起作用 公共功能StoreReqSchedule(请求$Request){ $this->validate([ “reqtype”=>“必需”, 'startdate'=>'required', “enddate”=>“必需”, 'reason'=>'必填\u如果:reqtype,==,请求休假', '路由'=>'必需\u如果:请求类型,==,请
JSON
上有required\u,我该如何使用
我仍然对API的概念感到困惑,但我必须完成我的任务,我在我的控制器上添加了验证
,但它不起作用
公共功能StoreReqSchedule(请求$Request){
$this->validate([
“reqtype”=>“必需”,
'startdate'=>'required',
“enddate”=>“必需”,
'reason'=>'必填\u如果:reqtype,==,请求休假',
'路由'=>'必需\u如果:请求类型,==,请求计划',
'actualschedule'=>'必填\u如果:reqtype,==,更改计划',
'changetoschedule'=>'required\如果:reqtype,==,Change schedule',
“交换布线”=>“必需”\u如果:reqtype,==,交换计划“,
'swapcrewschedule'=>'required\u如果:reqtype,==,Swap Schedule',
“注意”=>“必需”
]);
// ...
}
如果需要,这是正确的使用方法吗
****编辑**
每个API端点
由以下参数组成:
申请时间表:
请求类型
开始日期
结束日期
原因(如果请求类型为请求日,则为必填项)
路由(如果请求类型为请求计划,则为必填项)
实际计划(如果请求类型变更计划,则为强制性)
更改计划(如果请求类型更改计划,则必须更改)
交换机组id(如果请求类型为交换计划,则为必填项)
交换机组计划(如果请求类型为交换计划,则为强制性)
注
上面的列表就是我的任务,我很难理解如何为必填的if request type request Day of of和其他必填的ofc编写代码
错误例外:声明
App\Http\Controllers\B777Controller::validate($request)应为
兼容
App\Http\Controllers\Controller::validate(照亮\Http\Request
$request,array$规则,array$消息=array,array
$customAttributes=Array)>>这是错误
您只需删除==,
之后的“空白”,并将$request
对象传递给validate()
方法。见下文:
$this->validate($request[
“reqtype”=>“必需”,
'startdate'=>'required',
“enddate”=>“必需”,
'reason'=>'必填\u如果:reqtype,==,请求休假',
'路由'=>'必需\u如果:请求类型,==,请求计划',
'actualschedule'=>'必填\u如果:reqtype,==,更改计划',
'changetoschedule'=>'required\如果:reqtype,==,Change schedule',
“交换布线”=>“必需”\u如果:reqtype,==,交换计划“,
'swapcrewschedule'=>'required\u如果:reqtype,==,Swap Schedule',
“注意”=>“必需”
]);
您只需删除==,
之后的“空白”,并将$request
对象传递给validate()
方法。见下文:
$this->validate($request[
“reqtype”=>“必需”,
'startdate'=>'required',
“enddate”=>“必需”,
'reason'=>'必填\u如果:reqtype,==,请求休假',
'路由'=>'必需\u如果:请求类型,==,请求计划',
'actualschedule'=>'必填\u如果:reqtype,==,更改计划',
'changetoschedule'=>'required\如果:reqtype,==,Change schedule',
“交换布线”=>“必需”\u如果:reqtype,==,交换计划“,
'swapcrewschedule'=>'required\u如果:reqtype,==,Swap Schedule',
“注意”=>“必需”
]);
我认为您没有传递$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'
]);
// ...
}
我认为您没有传递$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'
]);
// ...
}
如果有三种类型的请求,该怎么办?我没听清楚:(我可以在这里张贴图片吗?我不知道如何解释它:(您不能在评论中发布图片。如果您的问题与此问题不同,您最好修改您的问题或创建一个新问题。请查看我所做的编辑。非常感谢您的帮助,如果有三种类型的请求类型,该如何处理?我没有收到您的回复:(我可以在这里发布图片吗?我不确定如何解释它:(您不能在评论中发布图片。如果您的问题与此问题不同,您最好修改您的问题或创建一个新问题。请检查我所做的编辑,好吗?非常感谢您的帮助错误例外:声明App\Http\Controllers\B777Controller::validate($request)应与App\Http\Controllers\Controller::validate兼容(照亮\Http\Request$Request,数组$rules,数组$messages=array,数组$customAttributes=array)>>这是错误例外:App\Http\Controllers\B777Controller::validate($Request)的声明应与App\Http\Controllers\Controller::validate兼容(Illumb\Http\Request$Request,array$rules,array$messages=array,array$customAttributes=array)>>这是一个错误我还没有完成它,但非常感谢您帮助我完成它!:)我还没有完成它,但非常感谢您帮助我完成它!:)