📜  $errors 在 laravel 中显示此错误 - PHP (1)

📅  最后修改于: 2023-12-03 15:13:02.074000             🧑  作者: Mango

$errors 在 Laravel 中显示此错误

在 Laravel 中,$errors 变量可以帮助我们显示表单验证错误。在提交表单时,如果数据验证失败,Laravel 会将错误信息存储在一个名为 $errors 的变量中,你可以在视图文件中使用它来显示错误信息。

使用 $errors 变量

在表单验证失败后,Laravel 会将错误信息保存在 $errors 变量中。你可以使用 Blade 模板引擎的 @if 和 @foreach 指令来显示这些错误。以下是一个例子:

@if ($errors->any())
  <div class="alert alert-danger">
    <ul>
      @foreach ($errors->all() as $error)
        <li>{{ $error }}</li>
      @endforeach
    </ul>
  </div>
@endif

在上面的例子中,我们首先检查 $errors 变量是否包含任何错误。如果有,我们会显示一个名为 alert-danger 的警告框,并使用 @foreach 指令遍历错误列表。

在遍历错误列表时,我们使用 {{ $error }} 输出错误消息。

显示特定字段的错误信息

当你需要显示特定字段的错误信息时,可以使用 $errors 变量的 has 和 first 方法。以下是一个例子:

@if ($errors->has('email'))
  <div class="alert alert-danger">{{ $errors->first('email') }}</div>
@endif

在上面的例子中,我们首先检查 $errors 变量是否包含一个名为 'email' 的错误。如果有,我们会显示一个名为 alert-danger 的警告框,并使用 first 方法输出第一条错误消息。

访问 输入 old() 数据

当你需要在表单重新提交时保留之前输入过的数据,误操作不扔掉,可以使用 Laravel 自带的 old() 函数。以下是一个例子:

<input type="text" name="email" value="{{ old('email') }}">

@if ($errors->has('email'))
  <div class="alert alert-danger">{{ $errors->first('email') }}</div>
@endif

在上面的例子中,我们使用 old() 函数将之前输入的 email 值填充到文本框中。如果输入的 email 验证失败,我们会显示一个名为 alert-danger 的警告框并输出第一条错误消息。

结论

$ errors 变量在 Laravel 中是一个有用的工具,可以帮助你轻松地从表单验证错误中恢复,并向用户显示友好的错误消息。在 Blade 模板中使用 $ errors 变量的方法很简单,只需绑定到错误和 old() 数据。