Laravel自定义验证错误消息

时间:2018-02-03 13:20:42

标签: php laravel-5.5

我有一个自定义的“基础”验证器

class BaseUserRequest extends FormRequest
{
    ...

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

其他验证者扩展“基础”类

class RegisterUserRequest extends BaseUserRequest
{
    ...

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

当我尝试在使用password:min的表单上触发RegisterUserRequest错误时,我收到默认邮件而不是“自定义错误”消息。我的RegisterUserRequest课有什么问题? 如果我使用BaseUserRequest,我会收到“自定义错误”消息。类继承有问题。

更新(已解决的问题):我忘了在验证上注册规则

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

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

1 个答案:

答案 0 :(得分:0)

试试这种方式

   php artisan make:request BaseUserRequest
  

// app / Http / Requests / BaseUserRequest.php

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

// app / Http / Controllers / UserController.php

use App\Http\Requests\BaseUserRequest;

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