Laravel 提供了一种简单的方法来处理表单验证,确保用户输入在处理之前有效。但是,有时验证错误可能不会出现在视图页面上。
一个常见原因是缺少中间件。在 Laravel 5.2.27 及更高版本中,处理会话和 CSRF 保护的“web”中间件会自动应用于 paths.php 文件中的所有路由。
如果您有手动将“web”中间件添加到您的路线中,例如:
Route::group(['middleware' => 'web'], function () { // Routes go here });
尝试将其删除。这可确保“web”中间件仅应用一次,从而防止冲突。
如果删除“web”中间件不能解决问题,请确保验证规则是在控制器中正确定义,并且视图中的错误消息块已正确放置和渲染。
错误消息块刀片模板中的 应该放置在任何循环或条件语句之外,以确保它始终可以访问以显示错误。以下示例显示了正确的位置:
@if(count($errors) > 0) <div class="row"> <div class="col-md-4 col-md-offset-4 error"> <ul> @foreach($errors->all() as $error) <li>{{$error}}</li> @endforeach </ul> </div> </div> @endif
通过遵循这些提示,您可以确保验证错误正确显示在刀片视图页面中,从而为用户提供有关任何无效输入的清晰反馈。
以上是为什么我的 Blade 模板中没有显示 Laravel 5.2 验证错误?的详细内容。更多信息请关注PHP中文网其他相关文章!