Actualmente estoy tratando de encontrar la forma de localizar los mensajes de error generados por MVC. Permítanme usar la carpeta de modelo predeterminada como ejemplo, para poder explicar el problema.MVC Localización de la Carpeta de modelo predeterminada
Suponiendo que tengo un formulario, donde un usuario entra en su edad. El usuario ingresa "diez" en el formulario, pero en lugar de obtener el error esperado de
"La edad debe ser entre 18 y 25".
el mensaje
"El valor 'diez' no es válido para la edad."
aparece.
propiedad La edad de la entidad se define a continuación:
[Range(18, 25, ErrorMessageResourceType = typeof (Errors),
ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]
public int Age { get; set; }
Después de algunas excavaciones, noto que este texto de error proviene de la System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid
en el archivo MvcResources.resx
.
Ahora, ¿cómo se pueden crear versiones localizadas de este archivo?
como una solución, por ejemplo, debo descargar MVC fuente y añadir MvcResources.en_GB.resx
, MvcResources.fr_FR.resx
, MvcResources.es_ES.resx
y MvcResources.de_DE.resx
, y luego compilar mi propia versión de MVC.dll
?
Pero no me gusta esta idea. ¿Alguien más conoce una mejor manera?
Un buen blog sobre esto también es aquí: http://bradwilson.typepad.com/blog/2010/01/input- validation-vs-model-validation-in-aspnet-mvc.html –