Laravel 5.4版本
validate()函数一直有效,直到我在表单中测试3个以上的错误。在buildfailedvalidationresponse函数之后自动重定向时,4 $错误消息不会出现,旧表单数据也不存在。这只适用于chrome。 Firefox / Internet Explorer很好。我在validatesrequest文件的整个过程中转储了数据,它显示$ error变量正确传递给buildfailedvalidationresponse函数,但重定向后没有错误/旧表单数据。我只是想知道是否有人在不同的浏览器中遇到过这样的问题。
验证方法
protected function validateRegistration(Request $request) {
$rules = array(
'name' => 'required|string',
'email' => array('required','string','email','unique:users,email'),
'phone' => 'required|digits:10',
'userid' => array('required','string','min:6','max:10','unique:users,userid','regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/'),
'password' => array('required','string','min:8','max:12','regex:/^(?
=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/'),
'repeatedpassword' => 'required|string|same:password',
'code' => 'required|digits:4|exists:codes,code'
);
$this->validate($request, $rules);
if ($this) {
$store = new User();
return $store->insertuser();
}
}
刀片验证显示错误声明
<div class="container">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li> {{ $error }} </li>
@endforeach
</ul>
</div>
@endif
</div>