title: MVC: Override default ValidationMessage
body: <p>In the world of MVC I have this view model...</p>
  
  <pre><code>public class MyViewModel{
  
  [Required]
  public string FirstName{ get; set; }    }
  </code></pre>
  
  <p>...and this sort of thing in my view...</p>
  
  <pre><code>&lt;%= Html.ValidationSummary("Please correct the errors and try again.") %&gt;
  &lt;%= Html.TextBox("FirstName") %&gt;
  &lt;%= Html.ValidationMessage("FirstName", "*") %&gt;
  </code></pre>
  
  <p>My question:  If I submit this form without supplying a name, I get the following message "The FirstName field is required"</p>
  
  <p>OK.  So, I go and change my property to...</p>
  
  <pre><code>[DisplayName("First Name")]
  [Required]
  public string FirstName{ get; set; }    
  </code></pre>
  
  <p>..and now get "The First Name field is required"</p>
  
  <p>All good so far.</p>
  
  <p>So now I want the error message to display "First Name Blah Blah".  How can I override the default message to display DisplayName + " Blah Blah", wihtout annotating all the properties with something like </p>
  
  <pre><code>[Required(ErrorMessage = "First Name Blah Blah")]
  </code></pre>
  
  <p>Cheers,</p>
  
  <p>ETFairfax</p>