2010-07-14 10 views
0

Je développe et l'application asp.net et j'utilise des annotations de données pour valider mon modèle d'entrée. Dans ce modèle, j'ai un champ de type DateTime, et je voudrais savoir comment je pourrais personnaliser le message lorsque l'utilisateur a mis une valeur de date invalide.Valider DateTime avec DataAnnotation

Ma propriété dans mon modèle:

[Required(ErrorMessage = "Informe sua data de nascimento.")] 
[MinAge(Idade = 18, ErrorMessage = "Você deve possuir no mínimo 18 anos para se cadastrar neste website.")] 
public virtual DateTime DataNascimento { get; set; } 

Mon modèle est thowing un message comme celui-ci: "La valeur '45/64/5646' est pas valable pour DataNascimento."

Si vous pouviez m'aider j'apprécie!

PS: Les messages de validateurs sont en pt-br (parce que ce sera la langue de l'application)

Merci beaucoup

Répondre

3

Je l'ai déjà répondu à une question similaire

Check it out

Dans certains cas, MVC utilise ses propres messages d'erreur Cette situation est problématique

+0

Salut Cristi, J'ai ajouté un fichier Resouce sur App_GlobalResouces et je l'ai configuré sur DefaultModelBinder, pour écraser les messages par défaut. , s'il y a un moyen t o traduire tous les messages pour une langue spécifique? Je veux dire, y a-t-il d'autres versions du fichier resouce avec des traductions (pt-br, dans mon cas)! Merci –

+0

Vous souhaitez que votre page soit traduite dans plus d'une langue? Si oui, vous pouvez avoir un fichier resx pour chaque langue dans le même dossier. Par exemple: AppUserLang.en-US.resx AppUserLang.resx AppUserLang.ro-RO.resx AppUserLang.pt-BR.resx –

0

Je pense que ce dont vous avez besoin, il est une expression régulière qui fait vérifie le format de l'heure de la date. (Note:... Je pense que c'est le format RegEx correct

[RegularExpression(@"^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$", ErrorMessage = "The date is invalid.")] 
+0

Merci, mais cela ne fonctionne pas correctement! –