From 754d50a53f005ddbe01572a97c3493151cde23b1 Mon Sep 17 00:00:00 2001 From: shiyifei Date: Thu, 26 Dec 2019 15:41:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=99=A8=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=8F=98=E9=87=8F=E6=94=B9=E4=B8=BAarray=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E9=AA=8C=E8=AF=81=E8=AF=B7=E6=B1=82=E6=97=B6?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E5=BD=93=E5=89=8D=E8=AF=B7=E6=B1=82=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Annotation/Mapping/Validate.php | 10 +++++----- src/Validator.php | 9 +++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Annotation/Mapping/Validate.php b/src/Annotation/Mapping/Validate.php index 4541ff1..28c734f 100644 --- a/src/Annotation/Mapping/Validate.php +++ b/src/Annotation/Mapping/Validate.php @@ -44,9 +44,9 @@ class Validate private $params = []; /** - * @var string + * @var array */ - private $type = ValidateType::BODY; + private $type = [ValidateType::GET, ValidateType::BODY]; /** * @var string @@ -76,7 +76,7 @@ public function __construct(array $values) $this->params = $values['params']; } if (isset($values['type'])) { - $this->type = $values['type']; + $this->type = (array) $values['type']; } if (isset($values['message'])) { $this->message = $values['message']; @@ -124,9 +124,9 @@ public function getParams(): array } /** - * @return string + * @return array */ - public function getType(): string + public function getType() { return $this->type; } diff --git a/src/Validator.php b/src/Validator.php index 56211b7..cdf2351 100644 --- a/src/Validator.php +++ b/src/Validator.php @@ -85,11 +85,12 @@ public function validate( * @param array $body * @param array $validates * @param array $query + * @param string $requestMethod * * @return array * @throws ValidatorException */ - public function validateRequest(array $body, array $validates, array $query = []): array + public function validateRequest(array $body, array $validates, array $query = [], string $requestMethod=''): array { foreach ($validates as $validateName => $validate) { $validator = ValidatorRegister::getValidator($validateName); @@ -106,9 +107,13 @@ public function validateRequest(array $body, array $validates, array $query = [] $params = $validate['params'] ?? []; $validateType = $validate['type']; + $isGetValidateType = false; + if (in_array(ValidateType::GET, $validateType)) { + $isGetValidateType = true; + } // Get query params - if ($validateType == ValidateType::GET) { + if ($requestMethod == 'GET' && $isGetValidateType) { $query = $this->validateValidator($query, $type, $validateName, $params, $validator, $fields, $unfields); continue; From 8f8a74a1ea9c9fb95301f35a4139d4f1e3e7461d Mon Sep 17 00:00:00 2001 From: shiyifei Date: Thu, 26 Dec 2019 15:46:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=99=A8=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E8=AF=B7=E6=B1=82=E6=AD=A3=E8=A7=84=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Validator.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Validator.php b/src/Validator.php index cdf2351..f2e23cc 100644 --- a/src/Validator.php +++ b/src/Validator.php @@ -108,12 +108,14 @@ public function validateRequest(array $body, array $validates, array $query = [] $validateType = $validate['type']; $isGetValidateType = false; + + //判断该validator是否支持GET方式 if (in_array(ValidateType::GET, $validateType)) { $isGetValidateType = true; } // Get query params - if ($requestMethod == 'GET' && $isGetValidateType) { + if ($requestMethod == RequestMethod::GET && $isGetValidateType) { $query = $this->validateValidator($query, $type, $validateName, $params, $validator, $fields, $unfields); continue;