【问题标题】:How to show error message below input field in blade file - Laravel如何在刀片文件的输入字段下方显示错误消息 - Laravel
【发布时间】:2020-03-06 00:30:38
【问题描述】:
我正在使用 laravel 中的规则验证输入,目前,如果验证失败,我正在使用下面的代码在我的视图中显示错误。
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
上述代码的问题是所有错误都集中在一个地方。如何在各自的输入下方显示错误(如姓名、电子邮件、密码等)。我在哪里可以定义我的自定义错误消息?谢谢
【问题讨论】:
标签:
php
html
laravel
validation
frameworks
【解决方案1】:
您可以在每个字段中使用这样的方法
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}"
name="name" value="{{ old('name') }}" autofocus>
@if ($errors->has('name'))
<span class="invalid feedback"role="alert">
<strong>{{ $errors->first('name') }}.</strong>
</span>
@endif
</div>
</div>
【解决方案2】:
从 Laravel 5.8.13 开始,您可以使用 @error Blade 指令。只需将所需的错误标记放在输入字段下方:
@error('field-name')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
如果验证field-name 时出错,将显示与该错误相关的消息。
关于自定义验证错误消息,请查看 Custom Error Messages 上的 Laravel 文档以获取更多信息。