MVC: Override default ValidationMessage

asp.net-mvc, data-annotations, html-helper

Solution

public class GenericRequired: RequiredAttribute
{
    public GenericRequired()
    {
        this.ErrorMessage = "{0} Blah blah"; 
    }
}

Problem

In the world of MVC I have this view model... ``` public class MyViewModel{ [Required] public string FirstName{ get; set; } } ``` ...and this sort of thing in my view... ``` <%= Html.ValidationSummary("Please correct the errors and try again.") %> <%= Html.TextBox("FirstName") %> <%= Html.ValidationMessage("FirstName", "*") %> ``` My question: If I submit this form without supplying a name, I get the following message "The FirstName field is required" OK. So, I go and change my property to... ``` [DisplayName("First Name")] [Required] public string FirstName{ get; set; } ``` ..and now get "The First Name field is required" All good so far. 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 ``` [Required(ErrorMessage = "First Name Blah Blah")] ``` Cheers, ETFairfax

Original source

Related problems