composer require "overtrue/laravel-lang:dev-master"
config/app.php 中將 Illuminate\Translation\TranslationServiceProvider 替換為 Overtrue\LaravelLang\TranslationServiceProvider,並設置 'locale' => 'zh-CN'。
在 resources/lang/zh-CN/validation.php 定義:
[
'numeric' => '密碼至少 :min 位。',
'string' => '密碼至少 :min 個字符。',
],
'confirmed' => '兩次密碼輸入不一致。',
];
use App\Services\Registrar;
public function createUser() {
$data = ['name'=>'admins','email'=>'admin@admin.com','password'=>'12345'];
$registrar = new Registrar;
$validator = $registrar->validator($data);
if (!$validator->fails()) {
$result = $registrar->create($data);
if ($result) return ['code'=>1,'info'=>'用戶創建成功'];
} else {
return ['code'=>0,'info'=>$validator->messages()->first()];
}
}
// Registrar 類 (幾乎默認)
class Registrar implements RegistrarContract {
public function validator(array $data) {
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6',
]);
}
public function create(array $data) {
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}