猿问

Laravel的Validator验证未通过时,错误信息中的 `:attribute` 如何替换为中文?

目前我是在 lang 文件夹里,定义了 验证器 语言文件的中文版本,但其中还存在像是 :attribute 这种字段。

所以最后的错误提示就变成了:

:attribute 这种字段如何变成中文呢?

PS: 我不想针对性的自定义错误信息,这个应用有一百多个错误验证,我怕最后我会写疯掉。

鸿蒙传说
浏览 890回答 3
3回答

元芳怎么了

1、(推荐,我平常就这么用)如果你是用FormRequest的话,可以重写如下的方法: public function attributes() { return [ // 类似 'username' => '用户名' 'username' => trans('label_fields.username'), ]; } 2、(我未测试过,为了回答扒文档临时看到的)如果是在controller中的validator,则可以这样为input属性名定义一个“漂亮的名字”: $niceNames = array( 'username' => '用户名' // 或单独将它定义,例如在lang下 // 'username' => trans('label_fields.username'), ); $validator = Validator::make(Input::all(), $rules); $validator->setAttributeNames($niceNames); // ... 希望能帮到你,兄弟,如有错误请指出。

小唯快跑啊

很简单啊,validate,第一个参数验证数据,第二个参数验证规则,第三个参数自定义显示错误,第四个参数,自定义字段名称(就是你的答案) $this->validate($request, [ 'info' => 'required', 'data' => 'required', ], [], [ 'info' => '输入信息', 'data' => '数据', ] );

繁星coding

可以直接在validation.php这个文件中写的.比如: return [ 'required' => ':attribute 不能为空。', 'attributes' => [ 'username' => '用户名', ] ]; 通过这种方式就可以将:attribute替换成相应的中文了;
随时随地看视频慕课网APP
我要回答