From f4b7371dbdbbf4218d7cb2c580f4f318b3be0186 Mon Sep 17 00:00:00 2001 From: augushong Date: Fri, 25 Feb 2022 17:36:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=AA=8C=E8=AF=81=E5=99=A8?= =?UTF-8?q?=E7=9A=84=E4=BD=BF=E7=94=A8=E6=96=B9=E6=B3=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/controller/AdminController.php | 33 ++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/app/common/controller/AdminController.php b/app/common/controller/AdminController.php index d5df7a2..6e1a9e3 100644 --- a/app/common/controller/AdminController.php +++ b/app/common/controller/AdminController.php @@ -22,6 +22,7 @@ use EasyAdmin\tool\CommonTool; use think\facade\Env; use think\facade\View; use think\Model; +use think\Validate; /** * Class AdminController @@ -97,6 +98,11 @@ class AdminController extends BaseController */ private $dataBrage = []; + protected $validateRule = null; + + protected $validateMessage = []; + + protected $batchValidate = false; /** * 初始化方法 @@ -159,13 +165,34 @@ class AdminController extends BaseController * @param array $data * @param array|string $validate * @param array $message - * @param bool $batch + * @param bool|null $batch * @return array|bool|string|true */ - public function validate(array $data, $validate, array $message = [], bool $batch = false) + public function validate(array $data, $validate, array $message = [], bool $batch = null) { try { - parent::validate($data, $validate, $message, $batch); + + $message = array_merge($this->validateMessage, $message); + + if(is_null($batch)){ + $batch = $this->batchValidate; + } + + if ($this->validateRule instanceof Validate) { + $this->validateRule->message($message); + + // 是否批量验证 + if ($batch) { + $this->validateRule->batch(true); + } + + $this->validateRule->failException(true)->check($data); + + } else if (is_array($this->validateRule)) { + parent::validate($data, $this->validateRule, $message, $batch); + } else { + parent::validate($data, $validate, $message, $batch); + } } catch (\Exception $e) { $this->error($e->getMessage()); }