Soy bastante nuevo en asp.net mvc, y estoy seguro de que estoy tratando de averiguar una buena práctica para hacer la validación de entrada.asp.net entrada de mvc/validación de modelo multi idioma
En el proyecto que vamos a utilizar marco de la entidad, donde se puede añadir anotaciones de datos a las propiedades de la siguiente manera:
[Required(ErrorMessage = "Please enter a product name")]
[Column]
public string Name { get; set; }
Esto es bastante agradable, sin embargo tenemos un sitio web en varios idiomas (como la mayoría de los sitios web), , por lo que no solo podemos mostrar los mensajes de error en inglés. ¿Cuál puede ser una forma de resolver esto? ¿Puedo cambiar este mensaje de error @runtime, dependiendo del idioma del usuario? ¿Debo usar la validación del lado del cliente de Jquery?
Gracias por la entrada.
Actualización He intentado con el código en el sitio web de Phil Haack Esto hará el truco con los recursos estáticos, sin embargo, utilizamos recursos que provienen de una base de datos no estática.
Si lleno en el siguiente para los DataAnnotations:
[MetadataType(typeof(IncidentsMetaData))]
public partial class INCIDENTS
{
private class IncidentsMetaData
{
[Required(ErrorMessageResourceType = typeof(CustomResourceProviders.DBResourceProviderFactory),
ErrorMessageResourceName="1277")]
public string SUBJECT { get; set; }
}
}
Entonces me sale el siguiente error: El tipo de recurso 'CustomResourceProviders.DBResourceProviderFactory' no tiene una propiedad estática accesible llamado '1277'.
Por supuesto, no hay tal propiedad, se debe acceder mediante una función. ¿Alguna idea de lo que podría hacer al respecto? tnx
Gracias por la respuesta. – denappel
He editado la pregunta, porque aunque la respuesta es útil, no resuelve mi problema por completo – denappel
¿Encontró la solución, me encontré con el mismo problema que usted –