【发布时间】:2023-04-01 05:25:01
【问题描述】:
我有一个运行 Laravel 5.2 的新站点 (Laravel Framework version 5.2.39)。注意:路由文件没有使用 web 中间件组,它不再需要并且可能导致此问题。
我对@987654322@ 的store 方法进行了简单验证:
$this->validate($request, [
'ContactFirst' => 'required|max:25',
'ContactLast' => 'required|max:25',
'ContactRole' => 'required|max:25',
'ContactEmail' => 'email|max:255',
'ContactPhone' => 'max:255',
]);
当我故意使验证失败时,网站会重定向回表单,但错误包是空的,因此没有提供错误信息。
在表单视图 (resources/contacts/new.blade.php) 中,我将文档中的以下代码以及转储中放入:
{{var_dump($errors)}}
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
页面(如我所说)重定向回表单并填充输入。但是$errors 是空的并且没有任何消息被打印出来:
object(Illuminate\Support\ViewErrorBag)[285]
protected 'bags' =>
array (size=0)
empty
【问题讨论】:
-
你确定你没有使用
web中间件(我认为这就是你在问题开始时的意思)。 -
@TiagoRL-- 是的,
web中间件未在routes.php中应用
标签: php validation laravel laravel-5.2