<?php namespace App\Http\Validators; use App\Model\SupplierChannelModel; use Validator; class SupplierAttachmentValidator { //保存相关的验证,别问我为什么不用laravel自带的form-request类 //因为控制器那边已经被之前的人魔改的难用的一比,而且控制器那边还接收了一大堆统一变量 public function checkSave($request) { //整理下请求数据 $attachment = $request->all(); $rules = [ 'field_name' => 'required', 'validity_type' => 'required', 'file_url' => 'required', 'file_name' => 'required', ]; $messages = $this->messages(); $validator = Validator::make($attachment, $rules, $messages); if ($attachment['validity_type'] == 2 && !$attachment['validity_period']) { return '附件有效期为自定义的时候,时间区间必须选择'; } if ($validator->fails()) { return $validator->errors()->first(); } } private function messages() { return [ 'field_name.required' => '附件类型 不能为空', 'validity.required' => '有效期类型 不能为空', 'file_url.required' => '上传文件 不能为空', 'file_name.required' => '文件名 不能为空', ]; } }