Laravel 5.8访问错误messageBag进行数组验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.8访问错误messageBag进行数组验证相关的知识,希望对你有一定的参考价值。

我验证了一个二维数组,当有验证器失败时,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”键?

答案

找到了。 $key将包含“1.0”,并且消息为$ error。

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


   
另一答案

MessageBag内,有一个方法keys(),你得到所有MessageBag键,有关你可以使用MessageBag类的方法的更多信息,请检查MessageBag laravel api doc

以上是关于Laravel 5.8访问错误messageBag进行数组验证的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.8:总是给出多个主键语法或访问冲突错误

CORS 策略已阻止访问 XMLHttpRequest - Laravel 5.8

用户 'user'@'localhost' Laravel 5.8 的访问被拒绝

Laravel 5.8:一般错误:1005 无法创建表

Laravel 5.8 错误 SQLSTATE[HY000]: 一般错误: 1005 uuid

Laravel 5.8 npm run dev 生成 ENOENT 错误