My apologies. I misunderstood your requirements.
Currently, ReasonEx property is the only one that's triggering this DelegateVerifier. And because of that, you're limited to providing one custom message.
Your requirement is that you want to provide custom message per each property that's involved in this validation. To do this, you have to attach a Verifier to the other 3 properties and make them trigger the validation. This is the only way that I can think of to do what you want.
See if you can try the following:
1. Create a DelegateVerifier that you would attach to these 3 properties. Let's call this DriverCarrierDelegateVerifier. Note that you can subclass the RequiredValueVerifier. This is a pre-defined DevForce Verifier.
See http://drc.ideablade.com/devforce-2012/bin/view/Documentation/validation-create-custom-verifier#HSubclassingapre-definedverifier for more details.
2. Within it, since you know which property is triggering the Verifier through TriggerContext, you can return a VerifierResult with its customized message per property.
3. In your ReasonEx DelegateVerifier, call,
var verifiersToExecute = new List<Verifier> { DriverCarrierDelegateVerifier };
verifierContext.VerifierEngine.Execute(entity, verifiersToExecute, verifierContext);
The above Execute call will trigger the DriverCarrierDelegateVerifier and in turn will trigger the 3 properties to be validated.
Please let me know how it goes.