refactored IRequiredFieldValidator to support additional validation methods