【发布时间】:2016-05-25 01:28:45
【问题描述】:
这很奇怪。我整天都在谷歌搜索,试图为我的问题找到解决方案,但由于版本不同或请求不同 - 控制器处理,大多数解决方案都不适合我。
这是怎么回事。
我有一个表格:
<div class="form-group">
Name *
{!! Form::text('name', '', ['class'=>'form-control', 'placeholder'=>'Required field']) !!}
</div>
还有一个请求:
class ContactFormRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|max:64',
'email' => 'required|email|max:128',
'message' => 'required|max:1024',
];
}
}
我将名称字段留空,因此验证失败,它应该返回联系表单页面并显示错误:
@if(count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
它什么也没显示!如果我 vardump $errors 变量,我得到这个:
object(Illuminate\Support\ViewErrorBag)[161]
protected 'bags' =>
array (size=0)
empty
如果我正确填写表单字段,它会成功将我发送到成功页面,并且一切正常。我现在只需要让这个错误的东西正常工作:S
提前谢谢你!
【问题讨论】:
-
您的控制器是否绑定到 web 中间件组的路由部分?如果没有,请尝试绑定它们,但我看不出你的代码有什么问题......
-
我假设您的控制器的方法在参数列表中包含 ContactFormRequest?您是自己重定向回表单还是依赖验证器的默认操作?
-
是的。我所有的路线都与中间件“网络”分组。我的控制器方法在它的参数中有 ContactFormRequest 作为类型!
-
var_dump($errors->all());说什么? -
array (size=0) empty - 太奇怪了,我将必填字段留空,它重定向回来,但没有显示错误! :S
标签: php forms laravel laravel-5.2