laravel api 验证自定义消息
Posted
技术标签:
【中文标题】laravel api 验证自定义消息【英文标题】:laravel api validation custom message 【发布时间】:2020-07-18 06:29:11 【问题描述】:我正在尝试为 laravel 中的验证编写自定义消息。 我在网上查了一下,看到一些帖子,其他人通过添加受保护的功能来解决同样的问题。我也将该函数添加到我的代码中,但它不起作用。这是我的代码 这是 myFormController.php:
公共函数请求(RegistrationRequest $request) $validated = $request->已验证(); 返回$已验证; )
这是RegistrationRequest.php:
使用 Illuminate\Contracts\Validation\Validator;采用 照亮\Http\Exceptions\HttpResponseException;
公共函数授权() 返回真;
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));
当这不起作用时,我使用了这个:
受保护的功能 验证失败(\Illuminate\Contracts\Validation\Validator $validator) 抛出新的 \Illuminate\Validation\ValidationException(response()->json($validator->errors(), 422));
请问我做错了什么?
【问题讨论】:
【参考方案1】:如果您想要自定义消息,只需覆盖 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.'
];
【讨论】:
我收到了,错误代码 422 是导致问题的原因,我立即删除了一切正常以上是关于laravel api 验证自定义消息的主要内容,如果未能解决你的问题,请参考以下文章