Member 12635260 Ответов: 1

Проверка опции из выпадающего списка


В моем выпадающем списке есть 8 секретных вопросов на выбор, один из которых: "какова ваша дата рождения"
Только если выбран этот параметр, я хотел бы, чтобы он проверил и убедился, что DOB введен в правильном формате, то есть 08.07.1980, и чтобы сообщение об ошибке отображалось в сводке проверки. Использую ли я пользовательский валидатор? пожалуйста, кто-нибудь может мне помочь?

Я действительно Новичок в разработке, так что, пожалуйста, полегче со мной :)

Спасибо!

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

<%-- & lt;asp:RegularExpressionValidator ID=" ValDOB "Display= "None" EnableClientScript= "false" ErrorMessage= "Please enter a valid DOB" runat= "server" ControlToValidate= "txtQ1" ValidationExpression="^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$">--%>

Richard Deeming

Все ли ваши пользователи из одной страны?

Если вы собираетесь ограничить формат даты, то этот формат должен иметь смысл для всех ваших пользователей. Ваш текущий формат неоднозначен между США (M/d/y) и остальным миром (d/M/y). "08.07.1980" означает 8 июля или 7 августа?

Кроме того, секретные вопросы в любом случае плохая идея, и использование такой информации, как "дата рождения", которая является предметом публичной записи, в качестве секретного вопроса является особенно плохим примером.

Member 12635260

Спасибо что нашли время ответить и за совет

1 Ответов

Рейтинг:
11

OriginalGriff

Не используйте регулярное выражение для проверки даты-это слишком сложно. Даже без проблемы формата, о которой упоминает Ричард, что произойдет в високосный год? Регулярные выражения плохо справляются с обработкой данных - это строковые процессоры и ничего больше.
Вместо этого проверьте дату в Javascript с помощью Date. parse () - JavaScript | MDN[^] через код.


Member 12635260

Спасибо, что нашли время ответить и за совет, я проверю его с помощью javascript

OriginalGriff

Пожалуйста!