laravel实践9.表单构建常见问题

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) 检查其值是否为空。

posted @ 2019-12-27 17:24  GIC扫地僧  阅读(221)  评论(0编辑  收藏  举报