Tengo un sitio web totalmente localizado, que está en su mayoría en francés/inglés/alemán.Asp.Net MVC: ¿Algún mensaje de error predeterminado no localizado?
Por ahora, todo iba bien, pero sí noté un problema con algún mensaje de error de asp.net MVC.
tengo una propiedad en mi modelo:
[Required]
[LocalizedDisplayName("PublicationDate", NameResourceType = typeof(LocalizationResources.Views.Composer.BaseInfoForm))]
public DateTime PublicationDate { get; set; }
LocalizedDisplayname es una extensión de la DisplayNameAttribute, que va en el archivo Resx para obtener la traducción correcta
El CurrentCulture hilo y los CurrentCultureUI son en fr-FR, por lo que el mensaje debe mostrarse en francés (como hace con mi [Required]
Atributo, mostrar automáticamente "Le champ Publication est requis".
Pero en el caso de un DateTime, si Entro en algo que no es una fecha, el validador sólo me devuelve una "The value 'asdfasdf' is not valid for Publication.
" Así:
- Por qué MVC me vuelve a veces mensaje de error en francés, y algunas veces en Inglés, en la misma forma (y yo precisa, es el mensaje de error por defecto)
- Cómo reemplazar este mensaje genericly, mediante la indicación de un texto como "la valeur {0} n'est pas une fecha valide pour le champ {1}"
Gracias usted mucho
Gracias. Como toda mi cadena localizable está en una DLL diferente, no puedo usar el '1.'. Entonces usaré el segundo. ¡Muchas gracias por la respuesta! – J4N
Quizás haya aceptado la respuesta demasiado pronto, puse el atributo Tipo de datos, exactamente como lo indicó, pero todavía tengo el mensaje anterior cuando mi tipo no es una fecha – J4N
Existen otros atributos para otros tipos de datos. Por ejemplo, tengo esto para mostrar mensajes de error localizados para un campo de texto de correo electrónico requerido: [Obligatorio (ErrorMessageResourceType = typeof (Shared), ErrorMessageResourceName = "RequiredFieldValidationMessage", ErrorMessage = null)] [EmailAddress (ErrorMessageResourceType = typeof (Shared), ErrorMessageResourceName = "EmailFormatValidationMessage", ErrorMessage = null)] cadena pública Correo electrónico {get; conjunto; } – Clafou