Including validation as a part of creating Validator object seems unintuitive to me.

Also if we separate these two responsibilities, we could replace "context" object with a list of constructor arguments. It would imho make simpler how different validators work (and what they need to be provided).