laravel框架后台自动验证显示中文输出错误信息

本文介绍在Laravel框架中如何将验证错误信息从英文转换为中文,包括两种方法:一是通过控制器中的validate方法自定义错误信息;二是下载并安装中文语言包,修改配置文件以实现全局中文错误提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当用户输入的信息不符合验证规则,那么后台验证会有验证错误信息,注意我们并没有GET路由中明确绑定错误信息到视图,因此laravel总是从session中检查错误信息。
因此,每次请求所有的视图总是存放在一个$error中,从而允许你在视图中方便使用。
例如在视图文件中输出错误的信息:

 @if (count($errors) > 0)
           <div class="alert alert-danger">
               <ul>
                   @foreach ($errors->all() as $error)
                       <li>{{ $error }}</li>
                   @endforeach
               </ul>
           </div>
       @endif

因此在输入错误验证信息时,会自动输出
在这里插入图片描述
注意:输出的是英文状态,对于大多数人是不懂英文的意思,因此我们需要把其改为中文状态
有两种改变方式:
1.第一种:
在我们的controller控制器中对validate()方法添加第三个参数用来输出错误后的验证信息:

    $this->validate($request,[
             'name'=>'required|min:2|max:6',
             'age'=>'required|min:0|max:100|integer',
             'email'=>'required|email'
         ],[
             'name.required'=>'名字不能为空',
             'name.min'=>'名字至少为2个字符',
             'name.max'=>'名字最多为6个字符'
         ]);

页面显示错误信息
在这里插入图片描述第一种方法还有一个弊端,在用户的信息偏多和条件偏多的时候,需要手动编写的错误信息会很多,这样麻烦且会增加代码量,因此下面介绍第二种方式
2.第二种
由于中文和英文都属于语言范畴,如果要切换语言提示,则需要有中文语言包的支持,目前laravel框架语言包只有en,因此需要下载中文语言包
这里注意:laravel框架的语言包存放在resources/lang文件目录下。
下载语言包网址:https://packagist.org
进入官网后,在官网搜索laravel-lang会出现下面的样式
在这里插入图片描述
点击红框进入,会有以下显示信息:
在这里插入图片描述
此信息是要在运行窗口进行运行,但是要注意你的的laravel版本,进行运行前可以先查看laravel的版本,通过
php artisan --version进行laravel版本的查看,如下图所示
在这里插入图片描述
显示laravel1版本是7.1.3,那么运行的命令就是
在这里插入图片描述
红框所圈出来的命令
注意:一定要根据自己的laravel版本进行运行命令的选择
运行需要等待一短时间,耐心等待,显示成功后去文件夹找到下载的语言包,如下图所示:
在这里插入图片描述
然后把此语言包复制到,上面所提到的laravel语言包的存放位置,下面是复制过后的语言包
在这里插入图片描述
语言包下载成功后,需要在配置文件中更改语言包的引用
在app.php中更改

'locale' =>'zh-CN',

其中zh-CN是上面所下载的语言包的文件名称
成功后,在输入信息错误后的提示会是中文提示,如下图所示在这里插入图片描述注意:在表单提交所使用的name属性的名字必须是在validate.php中的attributes中所定义的名字,如果没有则需要自己手动定义(validate.php是下载语言包里面的,也就是zh-CN)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值