nextValidator = $validator; } public function getNextValidator(): Validator { return $this->nextValidator; } abstract public function isCurrentValid(): bool; public function isValid(): bool { return $this->isCurrentValid() && $this->getNextValidator()->isValid(); } }