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; }