I think this is the right place to have validation function. also sub class can have additional validation for the specific properties on  the each request type.