Вопрос

Я столкнулся с проблемой, пытаясь изменить форму, которую сам не создал.

Форма имеет поле ввода asp: для значения даты, которое проверяется с помощью requiredFieldVal и rangeVal. Тип rangeVal имеет значение «дата» и минимальное значение 2000-01-01: максимальное значение 3000-01-01

Теперь к проблеме я пытаюсь добавить, чтобы пользователь также мог вводить дату в виде " 20000101 " другими словами, без "-".

Я попытался добавить еще одну rangeVal с типом Integer и значениями min, max и поместить их в одну группу ValidationGroup, но это не сработало.

Как разрешить пользователю использовать оба (любой из них) формата в поле ввода даты.

Заранее спасибо!

Это было полезно?

Решение

Вместо валидатора диапазона можно использовать валидатор регулярного выражения. Я немного увлечен Regex, но я уверен, что вы можете найти что-то здесь.

http://www.regular-expressions.info/

Вот ссылка на страницу с датами:

http://www.regular-expressions.info/dates.html

попробуйте, я думаю, что это сработает. Если нет, дайте мне знать, и я постараюсь исправить это:

((19|20)\d\d[- /.](0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01])|((19|20)\d\d(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])))

В другом посте речь шла о том, что это регулярное выражение не будет проверять некоторые недопустимые даты, например, 31 февраля. В этом случае я просто создал бы класс проверки, который наследовал бы от валидатора регулярного выражения, и переопределил метод EvaluateIsValid и проверил, если он фактическая дата Это позволяет проводить большую часть проверки на стороне клиента, причем резервная копия находится на уровне сервера, который в любом случае должен выполнять вторичную проверку.

Другие советы

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

Вы можете использовать регулярное выражение (как указывает Кевин), но выполнить требуемую проверку (проверка того, что значение является допустимым объектом DateTime и в указанном диапазоне) будет трудно сделать чисто .

Я бы предложил написать свой собственный CustomValidator , а затем используйте его для проверки ваших значений, как вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top