2010-07-14 2 views
0

Я разрабатываю приложение и приложение asp.net, и я использую аннотации данных для проверки моей модели ввода. В этой модели у меня есть одно поле типа DateTime, и я хотел бы знать, как настроить сообщение, когда пользователь установил значение даты недействительным.Validate DateTime с DataAnnotation

Моя собственность в моей модели:

[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; } 

Моя модель thowing сообщение типа: "Значение '45/64/5646' не является допустимым для DataNascimento"

Если бы вы могли помочь мне, я придираюсь!

PS: Сообщения валидаторов в PT-BR (потому что это будет язык приложения)

Большое спасибо

ответ

3

Я уже отвечал на подобный вопрос

Check it out

В некоторых случаях MVC использует свои собственные сообщения об ошибках Это проблематично для поддержки нескольких языков.

+0

Привет, Кристи, я добавляю файл Resouce у меня App_GlobalResouces и устанавливаю его в DefaultModelBinder, чтобы перезаписать сообщения по умолчанию. Я хотел бы знать , если есть какой-либо способ t o переводить все сообщения для определенного языка? Я имею в виду, есть ли еще версии resouce-файла с переводами (pt-br, в моем случае)! Спасибо –

+0

Хотите, чтобы ваша страница переведена на несколько языков? Если да, то у вас может быть файл resx для каждого языка в той же папке. Например: AppUserLang.en-US.resx AppUserLang.resx AppUserLang.ro-RO.resx AppUserLang.pt-BR.resx –

0

Я думаю, что вам нужно есть регулярное выражение, которое на самом деле проверяет формат даты. (Примечание:... Я думаю, что это правильный формат RegEx

[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

Спасибо, но это работает не так! –

Смежные вопросы