我在Laravel 5.1中需要有关如何命名MessageBag错误的帮助,允许我检索特定表单的错误消息。
这可以在没有使用请求的控制器的存储方法中实现。
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');
}
答案 0 :(得分:7)
我遇到了同样的问题,当我查看FormRequest类时,发现有一个属性protected $errorBag = 'default'
。
所以,通过在你的请求类中覆盖这个属性,例如
protected $errorBag = 'login';
您可以对该请求中的错误进行调整,然后在您的视图中访问它们,如下所示:
$errors->login->has('email')