【问题标题】:Laravel validator returning empty error messagesLaravel 验证器返回空错误消息
【发布时间】:2017-10-05 09:43:47
【问题描述】:

我正在验证 Laravel 中的表单,但没有收到空错误消息。

$validator = Validator::make($all, [
                    'email' => 'required|email',
                    'email_confirmation' => 'required',
                    'first_name' => 'required',
                    'last_name' => 'required',
                    'gender' => 'required',
                    'year' => 'required',
                    'month' => 'required',
                    'day' => 'required',
                    'birth_country' => 'required',
                    'birth_city' => 'required',
                    'native_country' => 'required',
                    'password' => 'required',
                    'password_confirmation' => 'required',
                    'address' => 'required',
                    'country' => 'required',
                    'region' => 'required',
                    'city' => 'required',
                    'tel_area_code' => 'required',
                    'tel_number' => 'required',
                    'postal_code' => 'required',
                    'mobile_area_code' => 'required',
                    'mobile_number' => 'required',
                    'terms_cond_check' => 'required',
                ],[
                    'terms_cond_check.required' => 'You must agree to our Terms and Conditions',
                ]);

响应是

MessageBag {#568 ▼
  #messages: array:10 [▼
    "password" => array:1 [▼
      0 => ""
    ]
    "password_confirmation" => array:1 [▼
      0 => ""
    ]
    "address" => array:1 [▼
      0 => ""
    ]
    "region" => array:1 [▼
      0 => ""
    ]
    "city" => array:1 [▼
      0 => ""
    ]
    "tel_area_code" => array:1 [▼
      0 => ""
    ]
    "tel_number" => array:1 [▼
      0 => ""
    ]
    "postal_code" => array:1 [▼
      0 => ""
    ]
    "mobile_area_code" => array:1 [▼
      0 => ""
    ]
    "mobile_number" => array:1 [▼
      0 => ""
    ]
  ]
  #format: ":message"
}

【问题讨论】:

  • 你能出示你的表格吗?

标签: php validation laravel-5.2


【解决方案1】:

首先你需要在表单视图中重定向。我的意思是添加这个 验证后

if ($validator->fails()) {
        return redirect(route('tape here your form route (you can find that in route/web.php)'))
            ->withErrors($validator)
            ->withInput();
    }

之后,您需要在表单视图中显示所有错误消息。

只需将其添加到表单视图页面的顶部即可显示所有错误消息:

<div class="alert alert-danger">
   <ul>
       @foreach ($errors->all() as $error)
          <li>{{ $error }}</li>
            @endforeach
   </ul>
</div>

【讨论】:

  • 你需要将 $all 替换为 $request->all();在你的验证器::make 方法中
猜你喜欢
  • 2015-11-20
  • 1970-01-01
  • 2018-04-30
  • 1970-01-01
  • 2015-11-10
  • 2020-01-23
  • 2016-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多