resources/views/users/create.blade.php
<input type="text" name="name" class="form-control" value="{{ old('name') }}">
Laravel 提供了全局辅助函数 old
来帮助我们在 Blade 模板中显示旧输入数据。这样当我们信息填写错误,页面进行重定向访问时,输入框将自动填写上最后一次输入过的数据。
防止csrf:
<form method="POST" action="{{ route('users.store') }}">
{{ csrf_field() }}
</form>
显示表单错误:
resources/views/shared/_errors.blade.php
@if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
然后在表单页面嵌入_errors页面
<div class="card-body"> @include('shared._errors') <form method="POST" action="{{ route('users.store') }}"> {{ csrf_field() }} <div class="form-group"> <label for="name">名称:</label> <input type="text" name="name" class="form-control" value="{{ old('name') }}"> </div> <div class="form-group"> <label for="email">邮箱:</label> <input type="text" name="email" class="form-control" value="{{ old('email') }}"> </div> </form> </div>
Laravel 默认会将所有的验证错误信息进行闪存。当检测到错误存在时,Laravel 会自动将这些错误消息绑定到视图上,因此我们可以在所有的视图上使用 errors
变量来显示错误信息。需要注意的是,在我们对 errors
进行使用时,要先使用 count($errors)
检查其值是否为空。