From eb561e20dcdea0c6c3a4bf38bbe9cc043bbc2c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Sun, 16 Apr 2023 03:51:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Validator/BindForm.php | 4 ++-- src/Validator/Validator.php | 21 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/Validator/BindForm.php b/src/Validator/BindForm.php index 0183192..ff5f2e7 100644 --- a/src/Validator/BindForm.php +++ b/src/Validator/BindForm.php @@ -26,12 +26,12 @@ class BindForm implements InjectParameterInterface { $validator = new Validator(); $reflect = \Kiri::getDi()->getReflectionClass($this->formValidate); - $model = $reflect->newInstanceWithoutConstructor(); + $validator->setFormData($reflect->newInstanceWithoutConstructor()); foreach ($reflect->getProperties() as $property) { foreach ($property->getAttributes() as $attribute) { $rule = $attribute->newInstance(); if ($rule instanceof ValidatorInterface) { - $validator->addRule($property->getName(), $model, $rule); + $validator->addRule($property->getName(), $rule); } } } diff --git a/src/Validator/Validator.php b/src/Validator/Validator.php index faea431..d2af096 100644 --- a/src/Validator/Validator.php +++ b/src/Validator/Validator.php @@ -23,16 +23,31 @@ class Validator private object $formData; + /** + * @param object $formData + */ + public function setFormData(object $formData): void + { + $this->formData = $formData; + } + + + /** + * @return object + */ + public function getFormData(): object + { + return $this->formData; + } + /** * @param string $name - * @param object $data * @param ValidatorInterface $rule * @return void */ - public function addRule(string $name, object $data, ValidatorInterface $rule): void + public function addRule(string $name, ValidatorInterface $rule): void { $this->rules[$name] = $rule; - $this->formData = $data; }