Laravel Validator自定义错误返回提示消息并在前端展示

(编辑:jimmy 日期: 2025/10/16 浏览:2)

原文链接:https://vien.tech/article/163

Laravel Validator 默认返回的是英文的提示消息,而大多数情况我们需要自定义错误返回提示消息,本文将介绍一下如何自定义错误消息,并在前端展示。

Laravel Validator自定义错误返回提示消息并在前端展示

自定义错误消息

别怪我太直接,代码奉上

$messages = [
  'phone.unique' => '重复的电话号码',
  'required' => '请将信息填写完整',
 ];

$this->validate($request, [
  'phone' => 'required|unique:table_name',
  'name' => 'required',
 ], $messages);

是不是很简单呀,只需要在validate()方法参数里面加个提示信息数组就好了,数组的key就是字段.验证方式或者直接验证方式,很显然,后者是应用于所有的,前者是应用于某一字段。

当然,你可能不是用的这种方式,其他验证器的也是一样的,看这里:

$validator = Validator::make($input, $rules, $messages);

是的,这样写也是传第三个参数,跟上面的方式是一样的。

错误提示前端展示

接下来讲一下前端如何展示这些错误提示呢,来让我们挨个打印一下

@if ($errors->any())
 @foreach ($errors->all() as $error)
 <div class="center alert alert-danger alert-dismissible fade show" role="alert">
 <strong>遇到错误: </strong>
  {{ $error }}
 <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  <span aria-hidden="true">&times;</span>
 </button>
 </div>
 @endforeach
@endif

原谅我前端太差,所以用了bootstrap的样式,为了突出主要部分,扒了这段代码的衣服是这样的:

@if ($errors->any())
 @foreach ($errors->all() as $error)
  {{ $error }}
 @endforeach
@endif

嗯,瞬间清爽了很多。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。