<?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' => '文件名 不能为空',
        ];
    }
}