Мне нужно проверить поле даты/времени на веб-странице, но чтобы это делалось без перезагрузки страницы и хотелось бы 'мгновенной' обратной связи для пользователей.
Каково наилучшее/простейшее решение. BTW: самое простое набирает 65% от общего количества баллов
Редактировать: Что если лучшее решение будет составлять 65% от общего количества очков?
Если вы хотите использовать JavaScript, то в нем есть встроенные функции проверки даты. Однако, если вы не хотите идти по пути JavaScript, вы можете изменить пользовательский интерфейс на выпадающие элементы управления, которые ограничат возможность пользователей вводить недействительные данные. Вам все равно придется проверять на стороне сервера, чтобы убедиться, что никто не ввел 30 февраля.
@David H. Австралия
Используя onblur для проверки проблематично, потому что некоторые люди используют клавишу ENTER, не мышь, чтобы представить форму. Используя onblur и form' s onsubmit событие в соединении могло быть лучшее решение. Назад, когда я сделал проверку JS для форм намного больше, я буду бежать против keyup событий. Это дало пользовательскую моментальную обратную связь на том, был ли их вход правилен. Вы можете (и я сделал), также помещенные проверки на месте так, чтобы пользователь doesn' t получают " incorrect" сообщение до they' ve покинул поле (начиная с Вас shouldn' t говорят им they' ре, неправильное, если они - not' t сделанный все же).
Посмотрите на эту функцию javascript date validation.
Она использует javascript, регулярные выражения и событие 'onblur' текстового ввода.
Я рекомендовал бы использовать холмы снижения для дат, как обозначено выше. Я can' t действительно думают о любой причине не к - Вы хотите, чтобы пользователь выбрал из предопределенных данных, не дал Вам что-то уникальное что Вы can' t ожидают.
Вы можете избежать 30 февраля с определенным JavaScript (заставьте дневную область населить динамично на основе месяца).
Простой метод javascript, который читает то, что находится в поле ввода при отправке, и проверяет его. Если оно недействительно, возвращает false, чтобы форма не была отправлена на сервер.
... onSubmit="return validateForm();" ...
Убедитесь, что вы проверяете и на стороне сервера, так как легко обойти проверку javascript.
Если you' ре используя ASP.NET, у этого есть средства управления контрольным устройством, которые Вы можете указать на textboxes, который Вы можете тогда использовать, чтобы утвердить надлежащие форматы даты/времени.
Есть несколько виджетов даты, доступных в эфире. Тогда Вы можете позволить только действительный вход.
Похож на there' s большое видео о Наборе инструментов Контроля ASP.NET АЯКСА обеспечивает контроль MaskedEdit и контроль MaskedEditValidator, который работает отлично. Не легкий для новичков, но ОЧЕНЬ хорошей и мгновенной обратной связи.
Спасибо за все ответы, хотя! < br>
< strike> К сожалению, я can' t принимают этот answer.