checks if the current state is valid
true if the current state is valid
runs the validation function and returns its result (without changing this validators state)