If you have more than one validator, all of them must pass for the transition to go through.
Validators can be used to make a field required only during workflow transitions.
If the cin fails then the input buffer is kept in an error state.
cin.clear() - This is used to clear the error state of the buffer so that further processing of input can take place.
I'm not sure, but I think my designed loop is not checking the type of input, just what char is entered.
Data validation rules can be defined and designed using any of various methodologies, and be deployed in any of various contexts.