title: ASP.Net MVC Validation Localization Not Overriding Browser Default Language
body: <p>I have localization working as expected for labels, but cannot seem to figure out why the validation messages are not being localized. If I change my browser <strong>default</strong> language to "es-ES", the validation messages are in Spanish. But, the application should be using the language set in our local database. For example, in the code below, the label for Impacts is being localized to Spanish, but the ProductID error message is displaying in English. The Culture is being set at the beginning of the controller action using a cookie.</p>
  
  <p>I also noticed if I set the language to Spanish in the web.config that the validation messages are in Spanish.</p>
  
  <p>Here is the current code that works correctly for the label, but not for the validation message.</p>
  
  <p>What I want is for the validation error message to be in Spanish like the label.</p>
  
  <p>Web.Config:</p>
  
  <pre><code>&lt;globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true" /&gt;
  </code></pre>
  
  <p>View Model:</p>
  
  <pre><code>[Required(ErrorMessageResourceName = "errProduct", ErrorMessageResourceType = typeof(Resources.ProductSupport.addcallText))]
  public Int32? ProductID { get; set; }
  
  [Display(Name = "lblEffect", ResourceType = typeof(Resources.ProductSupport.addcallText))]
  public IEnumerable&lt;SelectListItem&gt; Impacts { get; set; }
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>@Html.ValidationMessageFor(x =&gt; x.ProductID)
  
  @Html.LabelFor(x =&gt; x.Impacts)
  </code></pre>