📅  最后修改于: 2023-12-03 15:02:39.111000             🧑  作者: Mango
Laravel 提供了许多内置的验证规则来验证表单提交的数据。其中,日期验证规则可以用来验证日期格式是否正确,并且可以验证日期是否在指定的范围内。
$request->validate([
'date' => 'required|date_format:Y-m-d',
]);
上面的代码片段演示了如何使用 date_format
规则验证日期格式是否正确。在这个例子中,日期必须满足格式 Y-m-d
。
$request->validate([
'date' => 'required|date|after_or_equal:start_date|before_or_equal:end_date',
]);
上面的代码片段演示了如何使用 after_or_equal
和 before_or_equal
规则验证日期是否在指定的范围内。在这个例子中,日期必须在 start_date
和 end_date
之间。
如果验证失败,Laravel 会将错误信息存储在 $errors
变量中。我们可以使用以下代码片段来打印出验证错误消息:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
此外,我们还可以自定义验证失败的错误消息。例如,下面的代码片段演示了如何自定义日期验证规则的错误消息:
$request->validate([
'date' => [
'required',
'date_format:Y-m-d',
function ($attribute, $value, $fail) {
if (strtotime($value) < strtotime('today')) {
$fail('The :attribute must be a date after or equal to today.');
}
},
],
]);
在这个例子中,我们使用匿名函数来自定义验证规则。如果验证失败,我们可以使用 $fail
方法来自定义错误消息。
在本文中,我们介绍了如何使用 Laravel 的内置日期验证规则来验证表单提交的数据。我们还介绍了如何自定义错误消息来提高用户体验。如果你想了解更多有关 Laravel 的信息,请查看 Laravel 文档。