Laravel 5.5 Validator 自定義錯誤返回訊息

weixin_33725807發表於2018-04-11

這也是一個簡用版,後期優化高階用法。因為和之前使用的方式有點不太一樣,所以踩了一下坑。

在需要驗證form data的Controller裡,增加:

protected function validatorUserRegister(array $data)
{
    return Validator::make($data, [
        'name' => 'required|string|max:255|unique:users',
        'password' => 'required|string|min:6'
    ], [
        'name.unique' => '我是一條自定義訊息,提醒你重複註冊了'
    ]);
}

然後註冊的主體函式:

public function register(Request $request)
{
    // 驗證
    $validator = $this->validatorUserRegister($request->all());
    if ($validator->fails()) {
        $validator->errors()->getMessages();
    }

    try {
        // 你的邏輯
    } catch (\Exception $e) {
        return response()->json($e->getMessage());
    }
}

大體這樣可以了,你也可以直接改resources/lang/en/validation.php檔案中的內容。

中文文件

The end.

相關文章