validateId can be false

And if set to false, there should be no guess-the-type performed, only
aborting the check