我正在使用Laravel Framework 5.8.15。我正在验证一些表单输入。验证程序失败后,它会将我重定向到视图,但不显示任何错误。
我的控制器是:
public function store(Request $request)
{
$this->validate($request, [
'donator_first_name' => 'required|alpha|max:50',
'donator_middle_name' => 'required|alpha|max:50',
]);
donations::create([
'donator_first_name' => $request->get('donator_first_name'),
'donator_middle_name'=> $request->get('donator_middle_name')
]);
return back()->with('success', 'You have just created one item');
}
我的表单是:
<div class="form-group">
<label>Donator's Surname: </label>
<input class="form-control" id="donator_last_name" name="donator_last_name" placeholder="Enter Surname" required>
</div>
<div class="form-group">
<label>Donator's First Name: </label>
<input class="form-control" id="donator_first_name" name="donator_first_name" placeholder="Enter First Name" required>
</div>
<div class="form-group">
<label>Donator's Father's Name: </label>
<input class="form-control" id="donator_middle_name" name="donator_middle_name" value="{{ old('donator_middle_name') }}" placeholder="Enter Father's Name" required>
</div>
我的看法是:
@if ($errors->any())
{{dd($errors)}}
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if (\Session::get('success'))
<div class="alert alert-success">
<p>{{ \Session::get('success') }}</p>
</div>
@endif
答案 0 :(得分:1)
evrything似乎适合您的代码。不要忘记在表单中添加{{csrf_field()}}。
在视图上尝试以下操作:
@if (count($errors) > 0)
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<strong>Error!</strong>
@foreach ($errors->all() as $error)
<p>{{ $error }}</p>
@endforeach
</div>
@endif
@if(session('success'))
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<strong>Successfull!</strong>
{{ session('success') }}
</div>
@endif
@if(session('wrong'))
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<strong>Error!</strong>
{{ session('wrong') }}
</div>
@endif
然后您的控制器尝试以下操作:
return redirect("urlpath")->with('success','You have just created one item');
答案 1 :(得分:0)
我正在使用表单commit action调用API。这就是为什么我无法获得这些会话。