ASP.NET MVC: ValidationAttribute y ErrorMessage localizado
Tengo ValidationAttribute como:
public class Username : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
return false;
return RegExp.Validate(RegExpLib.Username,value.ToString());
}
}
..y usándolo de esta manera:
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 es el archivo de recursos en App_GlobalResources y "txtUsername" - es el nombre de la cadena en el archivo de recursos.
Problema: los mensajes de error no se muestran.
Pregunta: Cómo configurar un mensaje de error si tengo pocos idiomas en el sitio web.
Otra información:
Soy capaz de accederSignIn.txtUsername
Desde Vistas o cualquier archivo en el proyecto. Desde el controlador
ModelState.AddModelError("Username", Resources.SignIn.txtUsername);
también funciona bien ... Puedo asignar ErrorMessage dentro de ValidationAttribute, pero obtuve un error después del segundo intento de validación ... si coloco el cheque de esta manera:
if(ErrorMessage != Resources.SignIn.txtUsername)
ErrorMessage = Resources.SignIn.txtUsername;
Tengo un error después de cambiar a otro idioma: ErrorMessage solo se puede asignar una vez.
Por favor, consejo cómo puedo resolverlo.
Gracias de antemano.