Member 12824529 Ответов: 1

Как получить действительное регулярное выражение для даты


У меня есть приложение MVC 5.2 в VS 2015, работающее с SQL Server 2016.

У меня есть поле Assessment_Date, которое определяется в базе данных как varchar(10), а не как дата, так как я хочу работать только с датой, а не со временем.

Я хочу потребовать от пользователей ввести дату в форме: ММ/ДД/гггг

В моем частичном классе у меня есть следующие строки, относящиеся к этому полю:

[RegularExpression (@"/^\d{2}\ / \d{2}\ / \d{4}$/")]
общественного строка Assessment_Date { получить; набор; }


и в представлении редактирования у меня есть следующая строка сообщения проверки:

@Html. ValidationMessageFor(model = & gt; model.Assessment_Date, "mm/dd/yyyy", new { @class = " text-danger" })

В результате он терпит неудачу во всем, что я набираю в поле, даже если это правильно отформатированная дата, например 01/02/2017.

Я проверил регулярное выражение на Онлайн тестер и отладчик регулярных выражений: PHP, PCRE, Python, Golang и JavaScript[^] и RegularExpression позволяет правильно отформатировать даты, подобные приведенной выше.

В чем может быть причина, по которой это регулярное выражение терпит неудачу в MVC? Я поставил знак @ перед кавычками, содержащими регулярное выражение; в противном случае он жалуется на непризнанные escape-коды. В прошлом у меня тоже были проблемы с регулярными депрессиями. Есть ли какой-то трюк, чтобы заставить их работать с MVC? Спасибо.

Что я уже пробовал:

Регулярное форматирование строки даты ММ/ДД/гггг
Смотреть выше.

1 Ответов

Рейтинг:
11

Patrice T

Попробуй:

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


Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]


Member 12824529

Спасибо. Ваше регулярное выражение работает отлично.