ASP.NET MVC: ValidationAttribute i zlokalizowana wiadomość ErrorMessage

Mam ValidationAttribute jak:

    public class Username : ValidationAttribute
 {
  public override bool IsValid(object value)
  {
   if (value == null)
    return false;

   return RegExp.Validate(RegExpLib.Username,value.ToString());
  }
 }

..i używając go tak:

    public class AccountSignIn
 {
  [Username(ErrorMessageResourceName ="txtUsername",ErrorMessageResourceType=typeof(SignIn))]
  public string Username { get; set; }

  public string Password { get; set; }

  public bool RememberMe { get; set; }

  public string ReturnUrl { get; set; }
 }

SignIn jest plikiem zasobów w App_GlobalResources, a „txtUsername” - jest nazwą łańcucha w pliku zasobów.

Problem: Komunikaty o błędach nie są wyświetlane.

Pytanie: Jak ustawić komunikat o błędzie, jeśli na stronie jest kilka języków.

Inna informacja:

Jestem w stanie uzyskać dostępSignIn.txtUsername z widoków lub dowolnego pliku w projekcie. Z kontrolera

ModelState.AddModelError("Username", Resources.SignIn.txtUsername);

działa dobrze również .. Mogę przypisać ErrorMessage wewnątrz ValidationAttribute, ale dostałem błąd po drugiej walidacji spróbuj ... jeśli umieściłem sprawdzanie w ten sposób -

   if(ErrorMessage != Resources.SignIn.txtUsername)
       ErrorMessage = Resources.SignIn.txtUsername; 

Mam błąd po przełączeniu na inny język - ErrorMessage można przypisać tylko raz.

Proszę o radę, jak mogę to rozwiązać.

Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion