['required', new Enum(BaseType::class)], 'name' => 'required|string|max:100', 'description' => 'nullable|string', 'person' => 'required_if:type,1|string|max:100', 'crops_ids' => 'nullable|array|min:1', 'areas' => 'required|regex:/^\d+(\.\d{1,2})?$/', 'workforce' => 'required|integer|min:0', 'address' => 'nullable|string', 'address_lat' => 'nullable|regex:/^\d+(\.\d{1,10})?$/', 'address_lng' => 'nullable|regex:/^\d+(\.\d{1,10})?$/', ]; } public function messages() { $messages = [ 'type' => '请选择区域类别', 'name.required' => '请填写名称', 'name.max' => '名称不能超过100字', 'description.string' => '请正确填写介绍', 'person.required_if' => '请填写负责人名称', 'person.max' => '负责人名称不能超过100字', 'crops_ids.min' => '至少选择一种农作物', 'areas.required' => '请填写面积', 'areas.regex' => '请正确填写面积', 'workforce.required' => '请填写人数', 'workforce.min' => '人数最小为0', 'address.string' => '请正确填写地址', ]; return $messages; } protected function failedValidation(Validator $validator) { $error = $validator->errors()->all(); throw new HttpResponseException(response()->json(['data' => [], 'code' => 400, 'message' => $error[0]])); } }