4

我需要 Laravel 5.1 中有关如何命名 MessageBag 错误的帮助,以便我检索特定表单的错误消息。

这可以在控制器的 store 方法中实现,而无需使用请求。

Laravel 5.1 文档

return redirect('register')
            ->withErrors($validator, 'login');

但是我使用的是 RegistrationRequest,所以我不需要验证控制器内的任何输入,我只需要在请求中设置我的规则。

我尝试将这行代码添加到我的请求中

/**
     * Format the errors from the given Validator instance.
     *
     * @param  \Illuminate\Contracts\Validation\Validator  $validator
     * @return array
     */
    protected function formatErrors(Validator $validator)
    {
        return $validator->errors()->getMessages('registration');
    }
4

1 回答 1

10

我有同样的问题,当我查看 FormRequest 类时,我发现有一个 property protected $errorBag = 'default'

因此,通过在您的请求类中覆盖此属性,例如
protected $errorBag = 'login';

您可以从该请求中确定错误范围,然后在您的视图中访问它们,如下所示:

$errors->login->has('email')

于 2015-07-20T11:28:54.613 回答