1. 程式人生 > 其它 >thinkphp6表單驗證的兩種方式

thinkphp6表單驗證的兩種方式

第一種

        //接收引數
        $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));
        }