2015-12-03 2 views
2

Я пытаюсь создать просто регулярное выражение для моего приложения mvc. Я пробовал:просто регулярное выражение даты

[Required] 
[RegularExpression("(\\d\\d\\/\\d\\d\\/\\d\\d\\d\\d)")] 

и не работает. Я хочу заставить клиента ввести дату в формате 01/01/2015

ответ

4

Почему вам нужно регулярное выражение для этого случая? Используйте DisplayFormat и DataType:

[Required] 
[DataType(DataType.DateTime)] 
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 

Я имею в виду, что просто неправильно проверить дату с регулярным выражением не существует простой способ проверки даты, как 31/02/2015 или 31/04/2015 ведьме не действует дата.

2

Возможно, это связано с путаницей, вызванной утечкой стольких символов.

Здесь я бежал всю строку, предваряя @ и конденсируется регулярное выражение с помощью кванторов, чтобы указать, сколько символов каждого класса цифр для захвата:

[RegularExpression(@"(\d{2}/\d{2}/\d{4})")] 

Однако, так как вы используете это для проверки вы можете захотеть использовать валидатор DateTime как teo van kot has mentioned, потому что это регулярное выражение не применяет действительные значения даты.

+0

Благодарю вас за помощь, я думаю, что ошибся где-то в другом месте. Я знаю ограничения моего reg ex, но он должен работать. – Zet