lcly-data-admin/app/Http/Requestes/AgriculturalBaseRequest.php

59 lines
2.0 KiB
PHP

<?php
namespace App\Http\Requestes;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
class AgriculturalBaseRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|string|max:100',
'description' => 'string',
'person' => 'required|string|max:100',
'crops_ids'=> 'required|array|min:1',
'areas' => 'required|regex:/^\d+(\.\d{1,2})?$/',
'workforce' => 'required|integer|min:0',
'address' => 'string',
'address_lat' => 'regex:/^\d+(\.\d{1,10})?$/',
'address_lng' => 'regex:/^\d+(\.\d{1,10})?$/',
];
}
public function messages()
{
$messages = [
'name.required' => '请填写基地名称',
'name.max' => '基地名称不能超过100字',
'description.string'=>'请正确填写基地介绍',
'person.required' => '请填写基地负责人名称',
'person.max' => '基地负责人名称不能超过100字',
'crops_ids.required' => '请选择农作物',
'crops_ids.min'=>'至少选择一种农作物',
'areas.required' => '请填写基地面积',
'areas.regex' => '请正确填写基地面积',
'workforce.required' => '请填写就业人数',
'workforce.min' => '就业人数最小为0',
'address.string'=>'请正确填写基地地址',
'address_lat.regex' => '请正确填写经度',
'address_lng.regex' => '请正确填写纬度',
];
return $messages;
}
protected function failedValidation(Validator $validator)
{
$error = $validator->errors()->all();
throw new HttpResponseException(response()->json(['data' => [], 'code' => 400, 'message' => $error[0]]));
}
}