thinkphp6表單驗證的兩種方式
阿新 • • 發佈:2021-10-10
第一種
//接收引數 $params = $request->param(); //引數驗證 try { validate([ 'id' => 'require|integer|gt:0', 'article_ids' => 'require|array|min:1|max:' . $this->pagesize ], [ 'article_ids' => "文章id陣列" ])->check($params); } catch (ValidateException $e) { //表單驗證不通過 //這裡根據業務處理 return fail($e->getError()); }
第二種
控制器繼承\app\BaseController
//引數驗證 try { $this->validate($params, [ 'name|專欄名稱' => 'require|max:30|unique:column,user_id=' . $this->user_id, 'desc|專欄描述' => 'require|max:150', 'sort|排序' => 'require|integer|>=:0', 'visible|前臺顯示' => 'require|in:1,-1', ]); } catch (ValidateException $e) { //表單驗證不通過 //根據業務處理 //跳轉回提交頁面 return redirect((string)url('/console/column/create'))->with(array_merge(['error' => $e->getError()], $params)); }