實現以下結果
validator轉換為中文輸出
把 resources\lang 下en 的資料夾 複製在同一目錄並改名為 zn
把zn中的 validation.php檔案修改為 點我檢視 中的內容。
修改config 目錄下的app.php 檔案
'locale' => 'en', 修改為 'locale' => 'zn',
這個時候還不夠會出現以下效果
監聽全域性錯誤
在app/Exceptions/Handler.php中render方法監聽ValidationException異常
public function render($request, Throwable $exception)
{
if ($exception instanceof ValidationException) { // 驗證器驗證失敗
$errors = $this->replace_err_msg($exception->errors());
return $this->error(BaseMsg::FORM_VALIDATE_FAIL,null, $errors);//這個報錯返回了 ,自行實現
}
return parent::render($request, $exception);
}
private function replace_err_msg($arr)//替換錯誤資訊
{
if (is_array($arr) && !empty($arr)){
foreach ($arr as $k=>&$v){
$langKey = 'attribute.'.$k;
$msg = __($langKey);
if ($msg !== $langKey){
foreach ($v as &$vv){
$vv = str_replace($k,$msg,$vv);
}
}
}
}
return $arr;
}
以上方法需要在resources/lang相應語言目錄下(zn/en)新增檔案attribute.php
<?php
return [
'username' => '使用者名稱',
'password' => '密碼',
];
?>
本作品採用《CC 協議》,轉載必須註明作者和本文連結