【问题标题】:Return JSON Response with form errors in Laravel在 Laravel 中返​​回带有表单错误的 JSON 响应
【发布时间】:2016-10-26 00:45:43
【问题描述】:

所以我目前通过以下方式验证我的表单:

    $this->validate($request, [
        'title'    => 'required',
        'content'  => 'required|min:3'
    ]);

如何处理这些验证错误并通过 JSON 将它们推回? docs 声明 $this->validate(...) 如果为 false 将重定向回来并允许您显示错误...

如何验证服务器端的 API 请求?

【问题讨论】:

标签: php json validation laravel-5.2


【解决方案1】:

您需要使用 Validator::make 然后在 json 中返回包含数组或错误的响应。

$validator = Validator::make(Input::all(), $rules);
    if ($validator->fails())
    {
        return Response::json(['errors' => $validator->getMessageBag()->toArray()], 200);
    }

请注意,您还需要设置 $rules 变量。
例如:

$rules = ['email' => 'required|email'];

希望它会有所帮助。

【讨论】:

  • 提示:因为 Laravel 需要 PHP 5.5 使用 array() 而不是 [] 是毫无意义的
  • 我是说,如果你使用 Laravel,你必须使用 PHP 5.5+,它包含短数组语法。所以不要写$rules = array('email' => 'required|email|'); 而是写$rules = ['email' => 'required|email|']; 见:php.net/manual/en/migration54.new-features.php
  • 哦,我现在明白了!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
  • 2019-03-29
  • 1970-01-01
  • 2017-03-25
相关资源
最近更新 更多