Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Валидация элементов форм, ЧаВо 
:(
    Опции темы
Aliance
Дата 14.7.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 6
Всего: 137



Код

function isChosen(select) {
  if (select.selectedIndex == 0) {
      alert("Выберете значение из списка.");
      return false;
  } else {
      return true;
  }
}

PM MAIL WWW ICQ Skype   Вверх
Гость_maxon
Дата 15.7.2005, 09:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо.
  Вверх
Aliance
Дата 15.8.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 6
Всего: 137



Цитата(Guest @ 31.1.2005, 10:32)
Как сделать проверку на загружаемые файлы с формы, формата jpg, doc, zip,rar?

Кстати, у input:file есть свойство accept, задающую строку, содержащую список MIME-типов (через запятую).
PM MAIL WWW ICQ Skype   Вверх
CyClon
Дата 28.3.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
Это исключит обход отключившего JS пользователя от проверки на стороне клиента :-) smile


ИМХО: С помощью JS обезопасить свой сайт не удасться. И вообще, такие проверки делаются (Я делаю) для того, чтобы юзер не гонял траффик и не перезагружал по 100 раз страницу. Проверку средствами PHP никто не отменял ;)


--------------------
user posted image
PM   Вверх
Aliance
Дата 28.3.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 6
Всего: 137



Это не делается с целью обезопастить.
А в данном примере, с отключенным JS пользователь форму просто отправить не сможет.
PM MAIL WWW ICQ Skype   Вверх
CyClon
Дата 29.3.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
А в данном примере, с отключенным JS пользователь форму просто отправить не сможет.


Вот и суть проблемы smile НУжно чтобы мог сделать все, но причинить вреда не мог smile


--------------------
user posted image
PM   Вверх
alfemy
Дата 17.1.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 29.12.2007

Репутация: нет
Всего: нет



Да, в идеале бы сделать так, чтобы при включенном JS форма проверялась на строне клиента, а если не включен JS - то форма все равно бы отправлялась, и проверялась средствами PHP
PM MAIL   Вверх
Peremordit
Дата 28.1.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Моя реализация проверок

в поля формы добавить дополнительные атрибуты  - например, regvalue="true/false" (флаг обязательности к заполнению) и fieldtype = "email/date/latChar & etc." ("тип" поля)

сделать внешний файл с набором проверок
Код

filtr['date'] = new Array();
filtr['date']['InputFilterRX'] = '[\\.0-9]';
filtr['date']['InputCheckValueRX'] = '^([1-9]|0[1-9]|[12][0-9]|3[01])[\\.]([1-9]|0[1-9]|1[012])[\\.][1-9]{1}[0-9]{3}$';
filtr['date']['addPr'] = 'trueDate(el)';
filtr['date']['err'] = 'Указана некорректная дата';

здесь
InputFilterRX - регэксп для onkeypress (отсеять "левые" символы)
InputCheckValueRX - регэксп для "начальной" проверки (onblur поля и сабмит формы)
addPr - "дополнительная" проверка (ели не нужна - то просто true)
err - сообщение об ошибке

Пример дополнительной проверки
Код

var maxD = new Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
function trueDate(el){
d = el.value.split('.');
var flag=false;
if (d.length==3){
    if ((d[2]%4)==0) {maxD[2] = 29} else {maxD[2] = 28};
    if (d[0]<=maxD[stringToNumeric(d[1])])
        flag=true
    }
return flag
}



по сабмиту формы - пробежать по форме, собрать "обязательные" элементы, проверить обязательные поля


Если надо - выложу пример
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Наши скрипты | Следующая тема »


 




[ Время генерации скрипта: 0.0944 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.