ASP.NET MVC: ValidationAttribute und lokalisierte ErrorMessage

Ich habe ValidationAttribute wie:

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

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

..und wie folgt verwenden:

    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 ist eine Ressourcendatei bei App_GlobalResources und "txtUsername" ist ein Zeichenfolgenname in der Ressourcendatei.

Problem: Fehlermeldungen werden nicht angezeigt.

Frage: Wie stelle ich eine Fehlermeldung ein, wenn die Website nur wenige Sprachen enthält?

Noch eine Info:

Ich kann darauf zugreifenSignIn.txtUsername aus Ansichten oder einer beliebigen Datei im Projekt. Vom Controller

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

Funktioniert auch einwandfrei. Ich kann ErrorMessage in ValidationAttribute zuweisen, habe aber nach dem zweiten Validierungsversuch einen Fehler erhalten.

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

Ich habe einen Fehler, nachdem ich in eine andere Sprache gewechselt habe - ErrorMessage kann nur einmal zugewiesen werden.

Bitte Rat, wie ich es lösen kann.

Danke im Voraus.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage