Laravel 5.8访问错误messageBag用于数组验证

时间:2019-03-29 11:46:54

标签: laravel-5.8

我验证了二维数组,当验证器失败时,validator->errors()包含:

MessageBag {#1010 ▼
  #messages: array:8 [▼
    "1.0" => array:1 [▼
      0 => "The 1.0 does not match the format d/m/Y."
    ]
    "2.0" => array:1 [▶]
    "1.1" => array:1 [▶]
    "2.1" => array:1 [▶]
    "1.2" => array:1 [▶]
    "2.2" => array:1 [▶]
    "1.4" => array:1 [▶]
    "2.4" => array:1 [▶]
  ]
  #format: ":message"
}

现在,我可以访问所有这样的错误:

foreach ($errors->all() as $error) {

}

这会将邮件放入$error = "The 1.0 does not match the format d/m/Y.";

如何访问“ 1.0”键?

2 个答案:

答案 0 :(得分:0)

找到了。 $key将包含“ 1.0”,并以$ error表示错误消息。

   foreach ($errors->getMessages() as $key => $error) {


   }

答案 1 :(得分:0)

MessageBag中,有一个方法keys(),您可以获得所有MessageBag键,有关可以与MessageBag类一起使用的方法的更多信息,请检查MessageBag laravel api doc