entrada asp.net mvc / validação de modelo em vários idiomas
Eu sou bastante novo no asp.net mvc, e sei que estou tentando descobrir uma boa prática para validação de entrada.
No projeto, usaremos a estrutura da entidade, na qual você pode adicionar anotações de dados às propriedades da seguinte maneira:
[Required(ErrorMessage = "Please enter a product name")]
[Column]
public string Name { get; set; }
Isso é muito bom, no entanto, temos um site em vários idiomas (como a maioria dos sites), por isso não podemos apenas mostrar as mensagens de erro em inglês. O que pode ser uma maneira de resolver isso? Posso alterar esse erromensagem @runtime, dependendo do idioma do usuário? Devo usar a validação do lado do cliente Jquery?
Obrigado pela contribuição.
Atualização Eu tentei o código no site de Phil Haack. Isso funcionará com recursos estáticos, no entanto, usamos recursos provenientes de um banco de dados e não de recursos estáticos.
Se eu preencher o seguinte para as anotações de dados:
[MetadataType(typeof(IncidentsMetaData))]
public partial class INCIDENTS
{
private class IncidentsMetaData
{
[Required(ErrorMessageResourceType = typeof(CustomResourceProviders.DBResourceProviderFactory),
ErrorMessageResourceName="1277")]
public string SUBJECT { get; set; }
}
}
Em seguida, recebo o seguinte erro: O tipo de recurso 'CustomResourceProviders.DBResourceProviderFactory' não possui uma propriedade estática acessível chamada '1277'.
É claro que não existe essa propriedade, deveria ser acessada por uma função. Alguma idéia do que eu poderia fazer sobre isso? tnx