【问题标题】:how to display error messages in laravel blade based on input request rule如何根据输入请求规则在 laravel 刀片中显示错误消息
【发布时间】:2017-10-11 18:58:40
【问题描述】:

在我的 laravel 5.4 应用程序中,我有一个基本的输入表单,其中包含 passwordpassword_confirmation 字段。表单使用 laravel 表单请求验证进行验证。

用于密码字段验证的规则是requiredconfirmed

使用代码显示验证错误消息:{{$errors->first('password')}} 如果此验证失败 它返回第一个错误,我想根据规则显示错误。

即,我想在一个地方显示password.required 验证错误消息,在另一个地方显示password.confirmed 验证错误消息。 我已经尝试过这样的事情来获取基于规则{{$errors->first('password')['confirmed']}} 的消息,它返回错误

非法字符串偏移'已确认'。

如何根据验证规则获取错误消息?

【问题讨论】:

    标签: laravel laravel-5.4 laravel-validation


    【解决方案1】:

    如果你回顾一下错误包是如何构建的,我认为你不能轻易地做你想做的事。

    ViewErrorBag {#357 ▼
      #bags: array:1 [▼
        "default" => MessageBag {#358 ▼
          #messages: array:3 [▼
            "name" => array:1 [▼
              0 => "The field Name is required."
            ]
            "username" => array:1 [▼
              0 => "The field Username is required."
            ]
            "password" => array:1 [▼
              0 => "The field Password is required."
            ]
          ]
          #format: ":message"
        }
      ]
    }
    

    以上只是我的应用程序中的一个示例错误包。

    【讨论】:

    • 我在我的应用程序中看到了相同的结构。我需要知道是否有任何方法可以使用自定义变量或规则名称来索引数组。例如:从您的示例中,数组 name 使用数字进行索引,我需要的是使用规则名称对数组进行索引。即,` "name" => array:1 [▼ 'required' => "字段名称为必填项。" ]`
    • 嗯,我想不出你能做到这一点的任何方法。因为您无法控制请求验证功能。如果您在控制器内部进行自己的验证,也许您会更幸运?
    猜你喜欢
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 2020-09-24
    • 2020-04-28
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 2020-12-19
    相关资源
    最近更新 更多