如何在Controller中显示验证消息Laravel?

Arr*_*tra 5 php laravel laravel-3

我曾尝试在Controller中显示错误消息,但它不起作用,但是当我尝试时dd,它可以正常工作

我的代码:

if ($validation->fails())
{
    /*Doesn't work
    foreach ($validation->fails() as $messages) {
        $messages // Doesn't work
    }
    */
    dd($validation->errors); //This works
}
Run Code Online (Sandbox Code Playgroud)

tfo*_*ont 10

我注意到这里提供的示例实际上都没有工作!所以,你走了.在认识到"validator-> messages()"返回一个无法检索的受保护对象后,这是我找到的解决方案.

if ($validator->fails())
{
    foreach ($validator->messages()->getMessages() as $field_name => $messages)
    {
        var_dump($messages); // messages are retrieved (publicly)
    }

}
Run Code Online (Sandbox Code Playgroud)

我会参考:http: //laravel.com/api/source-class-Illuminate.Support.MessageBag.html

MessageBag,这是"messages()"返回的内容.并且对Validator类的额外确认 - 参考:http: //laravel.com/api/class-Illuminate.Validation.Validator.html


Dwi*_*ght 2

$validation->fails()返回输入是否通过验证的布尔值。您可以从视图访问验证消息$validation->messages()或将它们传递到将它们绑定到$errors变量的视图。

请参阅验证器文档。