'required', 'parent_id' => 'nullable|integer', 'name' => 'required|string|max:100', 'is_end' => 'required|boolean', 'unit' => 'required|string|max:100', 'extends' => 'nullable|array', 'extends.*' => 'required_array_keys:name,unit', 'sort' => 'integer', ]; } public function messages() { $messages = [ 'category_id' => '请选择所属业', 'parent_id' => '请选择上级', 'name' => '请填写名称', 'is_end' => '请选择是否结点', 'unit' => '请填写单位', 'extends' => '请正确填写扩展字段', 'sort' => '请正确填写排序', ]; return $messages; } protected function failedValidation(Validator $validator) { $error = $validator->errors()->all(); throw new HttpResponseException(response()->json(['data' => [], 'code' => 400, 'message' => $error[0]])); } }