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">×</span>
 </button>
 </div>
 @endforeach
@endif

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

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

嗯,瞬间清爽了很多。

总结

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

您可能有感兴趣的文章
php实现将wav文件转换成图像文件并在页面中显示的方法

thinkphp5.1 中使用自定义异常处理类进行接管

php自定义排序uasort函数示例【二维数组按指定键值排序】

Yii2框架自定义类统一处理url操作示例

php实现微信公众号创建自定义菜单功能的实例代码