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

时间:2022-07-27
本文章向大家介绍Laravel Validator自定义错误返回提示消息并在前端展示,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

前言

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

嗯,瞬间清爽了很多。