laravel 表單驗證

如下爲我建立的一個 API Validator 的 VIM Code Snippetgit

$rsp = ['err_code' => 0, 'err_msg' => 'OK',]; $input = $request->all(); $rules = [ 'name' => 'required', 'person_tel' =>'required|regex:/^1[0-9]{10}$/', 'code' => 'required|digits:6', ]; $messages = [ 'name' => '請填寫公司名稱', 'person_tel' => '請填寫正確的手機號', 'code' => '請填寫正確的驗證碼', ]; $validator = Validator::make($input, $rules, $messages); $validator->after(function ($validator) use ($request) { $redis_code = Redis::get(env('APP_NAME').'sms'.$request->get('person_tel')); if ($redis_code != $request->get('code')) { $validator->errors()->add('code', '驗證碼錯誤'); } }); if ($validator->fails()) { $rsp['err_code'] = -1; $rsp['err_msg'] = "數據校驗失敗"; $rsp['data'] = $validator->errors()->all(); return response()->json($rsp); }

爲什麼要使用 validator after

after 的調用時機是在主動調用 fails 的時候,這樣作很是方便去添加一些咱們業務相關的自定義校驗規則redis

相關文章
相關標籤/搜索