getReflectionClass($this->formValidate); $validator->setFormData($reflect->newInstanceWithoutConstructor()); foreach ($reflect->getProperties() as $property) { foreach ($property->getAttributes() as $attribute) { if (!class_exists($attribute->getName())) { continue; } $rule = $attribute->newInstance(); if ($rule instanceof ValidatorInterface) { $validator->addRule($property->getName(), $rule); } } } $middleware = new ValidatorMiddleware(); $middleware->validator = $validator; $manager = \Kiri::getDi()->get(Middleware::class); $manager->set($class, $method, $middleware); return $validator; } }