laravel validate显示中文错误提示
2018-06-25 本文已影响22人
足迹人生2017
$this->validate($request, [
'name' => 'required|max:50',
'email' => 'required|email|unique:users|max:255',
'password' => 'required|confirmed|min:6'
]);
添加语言包
通过页面显示我们可以看到,这时的报错信息显示的还是英文。Laravel 为消息验证的多语言提供了一种非常简便的方法进行支持。我们可以通过添加一个如 resources/lang/xx/validation.php 语言包,并在语言包的 custom 数组中对翻译语言进行设定。如:
'custom' => [
'email' => [
'required' => '邮箱地址不能为空!',
],
],
这是非常通用的功能,所以在 GitHub 上有人专门为此写了一个扩展包 - overtrue/laravel-lang 来对 Laravel 提供默认提示信息添加多语言版本翻译。
接下来让我们使用 Composer 来安装 laravel-lang
。
$ composer require caouecs/laravel-lang
我们需要将项目语言设置为中文。
config/app.php
<?php
return [
.
.
.
'locale' => 'zh-CN',
.
.
.
];
还需要修改config/app.php provider中注释Illuminate\Translation\TranslationServiceProvider::class,
,引入Overtrue\LaravelLang\TranslationServiceProvider::class,
// Illuminate\Translation\TranslationServiceProvider::class,
Overtrue\LaravelLang\TranslationServiceProvider::class,
/*
现在再次提交验证不通过的信息,能看到错误提示已变成中文。