Как получить действительное регулярное выражение для даты
У меня есть приложение 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? Спасибо.
Что я уже пробовал:
Регулярное форматирование строки даты ММ/ДД/гггг
Смотреть выше.