ASP.NET MVC: атрибут валидации и локализованное сообщение об ошибке

У меня есть ValidationAttribute как:

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

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

..и используя это так:

    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 - это файл ресурсов в App_GlobalResources, а «txtUsername» - это имя строки в файле ресурсов.

Проблема: сообщения об ошибках не отображаются.

Вопрос: Как установить сообщение об ошибке, если у меня мало языков на сайте.

Другая информация:

Я могу получить доступSignIn.txtUsername из Views или любого файла в проекте. От контроллера

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

также работает нормально ... Я могу назначить ErrorMessage внутри ValidationAttribute, но получил ошибку после второй проверки ... если я поставлю проверку следующим образом -

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

У меня ошибка после переключения на другой язык - ErrorMessage может быть назначен только один раз.

Пожалуйста, посоветуйте, как мне это решить.

Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос