powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проверка даты
18 сообщений из 18, страница 1 из 1
Проверка даты
    #33083327
Kwicia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Подскажите плз, как на стороне клиента проверить коректность вводу даты юзером, например, чтобы он не мог ввести 25.25.5005?
Заранее благодарен.
...
Рейтинг: 0 / 0
Проверка даты
    #33083362
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите обработчик на изменение или ввод в поле на JavaScript или на VBScript - там и проверяйте даты как необходимо. Ещё как вариант попробуйте использовать компоненты ASP.NET вроде Validator.
...
Рейтинг: 0 / 0
Проверка даты
    #33083369
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коректность вводу -> корректирую -> корректность ввода.

Написать собственную функцию,
разбирающую дату и проверяющую
корректность диапазонов числа, месяца и года.
(Обрати внимание, что диапазон корректных значений числа
зависит от месяца и года
Пример: 31 августа, 29 февраля)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проверка даты
    #33083403
Kwicia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу на JavaScript функцию.
Для проверки диапазона пишу так
Код: plaintext
1.
2.
3.
4.
5.
mont = dat.substr( 3 ,  2 );
if (month <  1  | month >  12 )
{
  window.alert("Ошибка!");
}

Работает хорошо, но только тогда, когда вводить число, но когда ввечти какие то инные символы оно считаєт что ето нормально.
Где моя ошибка?
...
Рейтинг: 0 / 0
Проверка даты
    #33083433
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
monthstr = datestr.substr( 3 ,  2 );
month = parseInt(monthstr);if (!isNaN(month)) {    if ((month >=  1 ) && 
(month <= 12 ))        monthiscorrect = true;    else {        monthiscorrect 
= false;        errmsg = "...";    }    else {        monthiscorrect = 
false;        errmsg = "...";    }}
и так далее

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проверка даты
    #33083442
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
monthstr = datestr.substr( 3 ,  2 );
month = parseInt(monthstr);
if (!isNaN(month)) {
    if ((month >=  1 ) && (month <= 12 ))
        monthiscorrect = true;
    else {
        monthiscorrect = false;
        errmsg = "...";
    }    
else {
        monthiscorrect = false;
        errmsg = "...";
    }
}

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проверка даты
    #33083456
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На событие KeyPress поля ввода даты могу предложить следующий скрипт, позволяющий вводить лишь цифры, запятые и точки:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
function number_dot_comma_check()
{
      if (event.keyCode !=  44  && event.keyCode !=  46  && event.keyCode !=  48  && event.keyCode !=  49  && event.keyCode !=  50  && event.keyCode !=  51  && event.keyCode !=  52  && event.keyCode !=  53  && event.keyCode !=  54  && event.keyCode !=  55  && event.keyCode !=  56  && event.keyCode !=  57 )
      {
            event.keyCode =  127 ;
      }
};
...
Рейтинг: 0 / 0
Проверка даты
    #33083501
Kwicia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, большое.
...
Рейтинг: 0 / 0
Проверка даты
    #33311978
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Axeleron:
А как быть, если использовать комбинацию клавиш Ctrl+V ?
Тут уже никакой event.keyCode не поможет.
...
Рейтинг: 0 / 0
Проверка даты
    #33312162
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nostra2 Axeleron:
А как быть, если использовать комбинацию клавиш Ctrl+V ?
Тут уже никакой event.keyCode не поможет.в IE вставку из буфера можно обработать в событии onpaste ( http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events/onpaste.asp )
единственная в чем хитрость, для обработки может понадобиться поставить задержку на обработку функции..
Код: plaintext
1.
2.
3.
4.
function check_delay() {
	window.setTimeout("check()",  25 );
}

function check() {...}
...
Рейтинг: 0 / 0
Проверка даты
    #33312176
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, по сабжу, тут недавно ссылочку бигдьюк давал http://www.regular-expressions.info/dates.html
...
Рейтинг: 0 / 0
Проверка даты
    #33312751
Vadimek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думаю, что проверку даты ( в том числе кол-во дней
в месяце и високосность года ) лучше переложить на
обьект Date :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function validDate(obj){
 date=obj.value
 test1=(/^\d{ 2 }[\-/]\d{ 2 }[\-/]\d{ 4 }$/.test(date))
 date=date.replace(/[\-/]/g,',')
 date=date.split(',')
 d=new Date(date[ 2 ],date[ 1 ]- 1 ,date[ 0 ])
 test2=( 1 *date[ 0 ]==d.getDate() &&  1 *date[ 1 ]==(d.getMonth()+ 1 ) &&  1 *date[ 2 ]==d.getFullYear())
 if (test1 && test2) return true
 alert("Invalid date")
 return false
}

...
Рейтинг: 0 / 0
Проверка даты
    #33865576
DREM@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
думаю так будет быстрее... бейте, если не прав =)

try
{
 if
 (Convert.ToDateTime(StingWithDate).Year<Convert.ToDateTime("01.01.нужный год").Year)
&
 (Convert.ToDateTime(StingWithDate).Year>Convert.ToDateTime("01.01.нужный год").Year)
   {
    return true;
   }
  else
   {
    return false;
   }
 }
catch
{
 return false;
}
...
Рейтинг: 0 / 0
Проверка даты
    #33866221
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного побъём :-)
Дело в том, что проверку нужно делать на стороне КЛИЕНТА, а не сервера.
В то время как твой вариант предполагает проверку на СЕРЕВРЕ.
Так что вот тебе шлепок :-)

А вообще как выход из этой ситуации предлагаю поле ввода для даты сделать только на чтение, а дату выбирать из календаря.
Вариантов реализации календаря на JScript-е в сети масса - поищи.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
Проверка даты
    #33867163
Drem@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, эту часть я прошляпил =)
спасибо
...
Рейтинг: 0 / 0
Проверка даты
    #33867173
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, че вы парня путаете?!

Проверка должна быть и на клиенте и на сервере, обязательно!

Бери Validator и вперед, там уже все написано
...
Рейтинг: 0 / 0
Проверка даты
    #33867200
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, что проверка должна быть на обоих сторонах.
Тем не менее авотр просил помощи с проверкой на стороне КЛИЕНТА.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
Проверка даты
    #33867268
RasimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KwiciaВсем привет.
Подскажите плз, как на стороне клиента проверить коректность вводу даты юзером, например, чтобы он не мог ввести 25.25.5005?
Заранее благодарен.
Пользуйся календарем. И с помощью него вводи. Все будет замечательно
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проверка даты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]