简体   繁体   English

Laravel自定义验证错误消息

[英]Laravel custom validation error messages

I have a custom "base" validator 我有一个自定义的“基本”验证器

class BaseUserRequest extends FormRequest
{
    ...

    public function messages()
    {
        return [
            'password.min' => 'Custom error',
        ];
    }
}

And other validator extends "base" class 和其他验证器扩展“基础”类

class RegisterUserRequest extends BaseUserRequest
{
    ...

    public function messages()
    {
        return parent::messages();
    }
}

When I try to trigger password:min error on form, which uses RegisterUserRequest , I get default message instead "Custom error" message. 当我尝试使用RegisterUserRequest触发表单上的password:min错误时,我收到默认消息,而不是“自定义错误”消息。 What's wrong with my RegisterUserRequest class? 我的RegisterUserRequest类出了什么问题? If I use BaseUserRequest , I get my "Custom error" message. 如果使用BaseUserRequestBaseUserRequest收到“自定义错误”消息。 Something is wrong with class inheritance. 类继承有问题。

UPDATE (QUESTION SOLVED) : I forgot to register rules on validation 更新(已解决问题) :我忘记注册验证规则
not

return Validator::make($data, (new RegisterUserRequest())->rules());

but

return Validator::make($data, (new RegisterUserRequest())->rules(), (new RegisterUserRequest())->messages());

try this way 尝试这种方式

   php artisan make:request BaseUserRequest

// app/Http/Requests/BaseUserRequest.php // app / Http / Requests / BaseUserRequest.php

public function messages()
{
        return [
        'password.min' => 'Custom error',
       ];  
}

// app/Http/Controllers/UserController.php // app / Http / Controllers / UserController.php

use App\Http\Requests\BaseUserRequest;

public function register(BaseUserRequest $request)
{
   // register code here
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM