private function validateAuto(): bool
    {
        if (\preg_match($this->patterns['isbn13-basic'], $this->value)) {
            return $this->validateIsbn13();
        }
        if (\preg_match($this->patterns['isbn13-separated'], $this->value) && \strlen($this->value) == 17) {
            return $this->validateIsbn13();
        }
        if (\preg_match($this->patterns['isbn10-basic'], $this->value)) {
            return $this->validateIsbn10();
        }
        if (\preg_match($this->patterns['isbn10-separated'], $this->value) && \strlen($this->value) == 13) {
            return $this->validateIsbn10();
        }

        $this->setError(self::VALIDATOR_ERROR_ISBN_INCORRECT_FORMAT);
        return false;
    }