laravel api验证自定义消息



我正在尝试为laravel中的验证编写一条自定义消息。我在网上查看了一些帖子,其他人通过添加受保护的功能来解决同样的问题。我还在代码中添加了该函数,但它不起作用。这是我的代码这是myFormController.php:

公共函数req(RegistrationRequest$request({$validated=$request->validated((;return$validated;(}

这是RegistrationRequest.php:

使用Illuminate\Contracts\Validation\Validator;使用Illuminate\Http\Exceptions\HttpResponseException;

公共函数authorize(({返回true;}

public function rules()
{
return [
'email' => 'required|email',
'firstname' => 'required|string|max:20',
'lastname' => 'required|string|max:50',
'password' => 'required|min:8',
];
}  protected function failedValidation(Validator $validator) {
throw new HttpResponseException(response()->json($validator->errors(), 422)); }

当这不起作用时,我使用了这个:

受保护的函数failedValidation(\Illuminate\Contracts\Validation\Validator$validator({抛出新的\Illuminate\Validation\ValidationException(response((->json($validator->errors((,422((;}

请问我做错了什么?

如果您想要自定义消息,只需覆盖messages方法,您只需要返回一个包含field_name => 'message'键值对的数组

/**
* Get custom messages for validator errors.
*
* @return array
*/
public function messages()
{
return [
'field_name.required' => 'field_name is requeired',
'field_name.max' => 'max length should be something.'
];
}

最新更新