添加自定义formrequest验证
1.在App\Providers\AppServiceProvider 类的boot方法中添加如下内容:
Validator::extend('goods_activity_valid', function($attribute, $value, $parameters, $validator) { return GoodsActivityRepositoryEloquent::checkGoodsActivityTime($value,$parameters); }); 其中GoodsActivityRepositoryEloquent::checkGoodsActivityTime为需要处理验证逻辑的方法,goods_activity_valid为验证规格的名称,然后使用匿名方法处理,value为验证字段接收的值,parameters为要传递的参数 使用方法如下: 在对应的formrequest中rules方法中添加字段规格如下:
return [
//
'title'=>'required',
'activity_time'=>'required|goods_activity_valid:{$id}',
];
其中activity_time为要验证的字段,goods_activity_valid为上边提到的验证规格名称,冒号后边的$id为要传入的参数
messages方法验证失败的提示信息方式发下:
return [
'title.required'=>'标题必须填写',
'activity_time.goods_activity_valid'=>'活动时间与其他活动时间冲突',
'activity_time.required'=>'活动时间必须填写',
];
goods_activity_valid为上边提到的验证规格名称