title: CompareAttribute error taking precedence from RequiredAttribute one
body: <p>Before asking the actual question I just want to say that this is a requirement that our customer is fighting about it with teeth and nails so there-are-better-ways-of-accomplishing-this kind of answers, even though I know there are better ways of doing this, will not help in this case.</p>
  
  <p>I have a view model with the following definition:</p>
  
  <pre><code>public class MyVm
  {
     [Required]
     public string Email{get;set;]
  
     [Required]
     [Compare("Email")]
     public string EmailConfirmation{get;set;
  }
  </code></pre>
  
  <p>When we test it, if we enter a value in the Email field but not on the EmailConfirmation one we get the fields-do-not-match error, which is perfectly fine but the customer ABSOLUTELY wants to see the "Confirmation field is required" error when it is empty and only when both fields have data AND they do not match, to see the "Fields do not match" one.</p>
  
  <p>Is there a way to accomplish this with annotations?</p>
  
  <p><strong>NOTE</strong>: We are using MVC 3.</p>
  
  <p>Thanks for your help.</p>