【问题标题】:laravel api validation custom messagelaravel api 验证自定义消息
【发布时间】: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)); }

请问我做错了什么?

【问题讨论】:

    标签: laravel laravel-5


    【解决方案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 是导致问题的原因,我立即删除了一切正常
    猜你喜欢
    • 2014-05-31
    • 2017-06-28
    • 2017-12-13
    • 2016-01-29
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 2019-11-01
    相关资源
    最近更新 更多