За последние 24 часа нас посетили 18142 программиста и 1650 роботов. Сейчас ищут 1608 программистов ...

form validation [готовое решение, принимаются замечания]

Тема в разделе "Решения, алгоритмы", создана пользователем Koc, 15 фев 2009.

  1. kostyl

    kostyl Guest

    Koc
    а.. та до проверке на клиенте пока руки не доходят... А то что длинные строки получаются, меня уже не пугает. Я купил недвано 22", так что для меня они нормальные вполне... ;)
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    покажи полный скриншот и версию?
     
  3. kostyl

    kostyl Guest

    440Hz
    При первом нажатии на регистрацию. Потом как то выравнивается...
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    kostyl
    Mr.M.I.T.

    я HTML не вылизывал. так. быстренько сделал. потом дизайн натянем - там вылижем. пока мне интересен функционал и архитектура
     
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    440Hz
    ===Вконтакте? :)
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    facebook
     
  8. SeregA

    SeregA Активный пользователь

    С нами с:
    2 фев 2006
    Сообщения:
    269
    Симпатии:
    0
    Адрес:
    Saint Petersburg, Russia
    но не настолько сильно. когда у тебя пишешь электронку все краснеет и это напрягает. лучше проверят когда уже на след поле табом перешел
     
  9. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    это я с jQuery развлекаюсь. прикольно
     
  10. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    440Hz, поддерживаю Серегу. Так себе получилось. Через то место, через которое делает большинство, уж извини. Пароль не проверяется на совпадение. Емейл чуть что - жжот красным. При этом, не проверяется на доступность (вдруг я уже регился и не забыл просто). Хотя согласен - это не так важно. А за алерты я на создателей сайта матерюсь очень сильно всегда при использовании. Уж лучше блокировать кнопку и выдавать мне предупреждение под ней, или над ней, что я не все заполнил. Ненавижу, когда блокируют мой браузер.
     
  11. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    440Hz, а еще оно глючновато (не фейк):
    [​IMG]
    Браузер Фокс 3 под Линуксом. Если я ввожу начало емейла, а продолжение выбираю с списка-истории.
     
  12. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    Код (Text):
    1. не могу загрузить класс [EnigmaCZmainpage]
    И кстати, правильно не
    Код (Text):
    1. javascript:viod(0);
    а
    Код (Text):
    1. javascript:void(0);
     
  13. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    имхо в ссылках жабаскрипт по-любому некорректно указывать. И ваще, тут обсуждаем мой валидатор форм/запросов а не Enigma Engine/проблемы верстки оной в фурифоксе второй версии.
     
  14. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    * третьей

    :))
     
  15. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    типа ап!
    http://pastebin.mozilla-russia.org/102203

    переделал поделку. До этого у меня в цикле проверялась пустота поля. Но мы не об этом. Как бы этот валидатор расширять извне своими проверками? Сейчас я его наследую, перегружаю ф-цию customValidate и работаю с этим новым классом.

    Но мне кажется, что можно сделать поинтересней. Например написать тип валидации callback - в него в виде параметров передавать название ф-ции, которая будет проверять поле.

    А еще можно сделать addValidator() - будет добавлять классы, внутри основного класса инстанцировать их и работать с ними.

    Как бы вы делали?
     
  16. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    сложно, всё сложно,
    Я свой примерно так сделал
    PHP:
    1. <?
    2. if(!$errors=Validator::Run($_POST)
    3.    ->NoEmpty("Переменная {var} не должна быть пустой")
    4.    ->MaxLength(30,"максимальная длина {var} {arg[1]} символов")
    5.    ->HtmlSpecialEscape()){
    6. }else{
    7.   print_r($errors);
    8. }
    9.  
    10. /*....*/
    11. Validator::Run($_POST)
    12. ->Exec("MyValidator")
    13. /*.....*/
    14. Validator::Run($_POST)
    15. ->ExecErrors("MyErrorsData")
    16. /*.....*/
    17. ?>
     
  17. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Всё через call. Кажется, я наконец-то понял, зачем он нужен.
     
  18. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    [vs]
    не, тут не через него
    хотя можно и через
     
  19. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    фу, калл какой-то
     
  20. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Сифоз свитч рулит =)
     
  21. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    да, switch-case поистине круто.
    но на самом деле мне не понравилось не из-за этого. Мне не удобно добавлять правила вот так по одному через цепочку. Да и просто не понял сокральных 3-х вызовов одного и того же метода статического.
     
  22. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    на самом деле этот валидатор одно большое неудобно
    я им не пользуюсь
     
  23. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Что у тебя в валидаторе делает эта хрень? Эскейпит ошибки?
    Как-то это весьма нетривиально.
     
  24. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Simpliest
    типо всему массиву сразу Escape спец символов делает
    приводит данные к нужному формату - валидному =)

    вообще валидатор неудобная х.
    проще написать
    PHP:
    1. <?
    2. if(!support::empty($_POST,'key1,key2,key3')){
    3.    if(support::malength($_POST,"key1,key2",30) && support::milength($_POST,"key1",5)){
    4.    }else print "Error2";
    5. }else print "Erro1";
    6. ?>
    обычно о*уенноМного проверок не бывает, макс. 6.
    а ебланство с написание и подключением собственных валидаторов, это вообще.
     
  25. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Ммм. Стоит пожалуй отделять мух от котлет.

    Валидацию - проверку на корректность значений
    Фильтрацию - приведение/получение корректных значений.
    Это раз.

    А два.... если ты уж применяешь цепочку методов из валидаторов и фильтров... То возврат HtmlSpecialEscape'ом списка ошибок это сурово.

    У тебя на выбор было два варианта -
    1. вернуть самого себя (для дальнейшего использования цепочки)
    2. Вернуть отфильтрованный массив (входящие данные обычно не изменяют)