title: ASP.NET MVC: Language Globalization - Required Error Message is Always in English
body: <p>I am learning how to do globalization, and everything is working well, except for one thing.  I have some required fields, and their error message is always in English. Everything else will swap languages, and maintain the correct language after a post-back, but that dang error message is English no matter what.  I really hope you can help me spot my error!</p>
  
  <p><strong>Model:</strong></p>
  
  <pre><code>namespace xxxx.Models
  {
      public class PatientSatisfactionSurveyPage : Page
      {
  
          public Boolean Page1Complete { get; set; }
  
          [Required(ErrorMessageResourceType = typeof(Resources.CustomerSatisfactionSurvey), ErrorMessageResourceName = "Page1Question1Required")]
          public int? LikelyToReturn { get; set; }
  
          [Required(ErrorMessageResourceType = typeof(Resources.CustomerSatisfactionSurvey), ErrorMessageResourceName = "Page1Question2Required")]
          public int? RecomendToFriend { get; set; }
      }
  </code></pre>
  
  <p><strong>View:</strong></p>
  
  <pre><code>&lt;div&gt;&lt;input type="submit" id="page1-submit" name="page1-submit" value="continue" class="btn green2"&gt;&lt;/div&gt;
  &lt;div&gt;@Html.ValidationSummary()&lt;/div&gt;
  </code></pre>
  
  <p><strong>Controller:</strong></p>
  
  <pre><code>    [HttpGet]
      public ActionResult PatientSatisfactionSurvey(string ApptID, string LanguageCode)
      {
  
          PatientSatisfactionSurveyPage pss = new PatientSatisfactionSurveyPage();
  
          // Create list of available language options
          pss.LanguageOptions = new List&lt;string&gt; { "en", "es", "fr" };
  
          // Validate and set the language code
          if (!string.IsNullOrEmpty(LanguageCode))
          {
              // Check the incoming Language Code (LanguageCode) against the list off approved options
              if (pss.LanguageOptions.Contains(LanguageCode))
              {
                  // Set the culture based on the language code
                  Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(LanguageCode);
                  pss.LanguageCode = LanguageCode;
              }
          }
      }
  
      [HttpPost]
      public ActionResult PatientSatisfactionSurvey([Bind]PatientSatisfactionSurveyPage pss, string ApptID)
      {
  
          Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(pss.LanguageCode);
  
          if (ModelState.IsValid)
          {
              pss.Page1Complete = true;
          }
  
          return View(pss);
  </code></pre>