ФорумПрограммированиеPHP для идиотов → Валидатор

Валидатор

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 11:32, спустя 2 минуты 11 секунд


    phpdude, а ты не хочешь закапать валидацию в модель поглубже, а то она как то в форме, а если с консоли вводится или еще как то, SOAP-ом например?
    нет не хочу, пока этого достаточно :)

    ну какбы можно указывать источник данных, по умолчанию - пост, можно хоть соап указать))
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 11:36, спустя 3 минуты 25 секунд

    phpdude, покеж цепочки валидаций и когда нужна отправлять какие-то парамтеры в валидатор
    Спустя 67 сек.
    ну и ваще если на основе этого у тебя буде генериться Ext'овая форма - было б гуд. А иначе - мне проще просто через шаблоны прописывать формы
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 11:37, спустя 1 минуту 8 секунд

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

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 12:42, спустя 1 час 4 минуты 42 секунды

    первичный набросок (еще ничего не работает и вполне возможно интерфейсы будут меняться)
    http://code.google.com/p/bicycle-libraries/source/detail?r=49e7beb2dd29110400d94d1a860fdd819af71e70#
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 13:09, спустя 27 минут 10 секунд

    Абырвалг, ух суровый там код :D
    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 13:55, спустя 45 минут 50 секунд

    Абырвалг, бля, сложно уже…
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 14:10, спустя 15 минут 21 секунду

    Абырвалг, а в валидаторах будет чтото кроме getRules() ?
    если нет, то почему бы не убрать эти валидатор и интерфейс, и сделать вместо этого конфиг файл ?
    Спустя 62 сек.
    phpdude, kostyl, а что там сурового и сложного ?
    Спустя 151 сек.
    грубоговоря единственное на что там стоит смотреть так это на метод validate()
    все остальное get, set, instance…. просто вспомогающие вещи которые создают иллюзию "сложного и сурового" кода =)
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 14:17, спустя 7 минут 6 секунд

    и еще вопрос, если мне в форме надо только интовый валидатор(циферки попроверять), то зачем грузить все валидаторы ?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 14:31, спустя 14 минут 14 секунд

    NRG, от автозагрузки избавимся. Какие валидаторы грузить как раз будет через конфиг задаваться.
    Кроме getRules ессно будет validate (он описан в интерфейсе, но еще не реализован).


    public function validate($rule, &$value, &$errorMessage, array $messages = array(), array $options = array());
    /*
    метод возвращает true если проверки прошли успешно и false если есть ошибки

    rule - само правило (minLength)
    value - то, что проверяем. Почему по ссылке? потому, что возможно будут не только валидаторы, но и фильтры
    errorMessage - текст с ошибкой, который будет возвращен в случае, если такая будет
    messages - тексты сообщений с ошибками для _этого_ валидатора. Их может быть несколько (напр. "неверный домен у мыла" или же "мыло не может начинаться с точки")
    options  - параметры (длина, проверять ли домен у мыла)
    */
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 марта 2010 г. 15:12, спустя 41 минуту 1 секунду


    phpdude, kostyl, а что там сурового и сложного ?

    вообще то не знаю, да, но трудно что то говорить без примеров, мне не совсем понятно как валидировать отдельные условия "если это валид, то проверяем валид ли то" или типа того. А когда не понятно, то уже сложно. Короче будут примеры, тогда я скажу окончательное мнение.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 21:57, спустя 6 часов 44 минуты 48 секунд

    Очень хочется таки иметь набор правил применимый как для серверной, так и для клиентской стороны.

    С регекспами по каждому полю вроде просто. Сложно мультиплатформенно реализовать правила типа
    "$password1==$password2"
    или
    "($country=='USA') ? !empty($state) : empty($state)"
    Пока в голову приходит только предварительная обработка + eval() на обоих сторонах.

    Есть идеи?
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 марта 2010 г. 22:16, спустя 18 минут 42 секунды

    artoodetoo, ооп с обоих сторон и генерация кода? :)
    Спустя 53 сек.

    Falidator.addRule({error: '..', ontest: function( value, name) {
    });

    … ?
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 марта 2010 г. 0:49, спустя 2 часа 33 минуты 31 секунду

    phpdude, да с обоих сторон. насчет синтаксиса не уверен, лишь бы php сумел сгенерировать валидные правила для js
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 марта 2010 г. 2:08, спустя 1 час 18 минут 15 секунд

    в метод validate приходится передавать много параметров. А еще нужно имя поля знать (оно подставляется в сообщения об ошибках). И некоторые валидаторы зависят от других полей (confirm). То есть этот validate должен еще иметь доступ ко всем проверяемым данным.

    Накладно получается
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 марта 2010 г. 10:58, спустя 8 часов 50 минут 6 секунд

    Абырвалг, ты это про какой валидатор говоришь?
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!