Дата и время регулярного выражения - PullRequest
2 голосов
/ 15 января 2012

Привет, люди. У меня есть следующая экспресс-проверка

    [Required]
    [RegularExpression("{0:d/M/yyyy HH:mm:ss}" , 
    ErrorMessage = "Wrong Syntax")]
    public string Posted { get; set; }` 

Но он не допускает следующий ввод, который показывается в качестве примера даты и времени: 12.12.2011 00:00:00 (Я не хочу, чтобы эти точные числа позволяли использовать дату и время для любых чисел, которые логически разрешены стандартами даты и времени)

Я получаю сообщение об ошибке «Неверный синтаксис» даже при вводе правильного кода.В чем проблема.Любая помощь будет по достоинству оценена. Спасибо вам большое

Ответы [ 3 ]

4 голосов
/ 15 января 2012

Это потому, что RegularExpressionAttribute ожидает шаблон Regex, и вы предоставляете шаблон формата строки .NET ( MSDN: RegularExpressionAttribute Class ).

Для проверки базового формата вам необходимо использовать что-то вроде:

[RegularExpression(@"\d{2,2}/\d{2,2}/\d{4,4} \d{2,2}:\d{2,2}:\d{2,2}")]
0 голосов
/ 11 марта 2015

Полное руководство по проверке клиента и сервера в MVC (используя что-то вроде TextBoxFor) смотрите в моем ответе здесь: Подтвердить дату в формате MM / dd / YYYY в mvc

0 голосов
/ 15 января 2012

Замените вашу строку в вашем атрибуте RegularExpression реальным регулярным выражением.Попробуйте один из них на этом сайте библиотеки регулярных выражений:

http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5&AspxAutoDetectCookieSupport=1

Попробуйте первый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...