ФорумПрограммированиеJavaScript → Разыскивается валидатор формы с правилами server+client

Разыскивается валидатор формы с правилами server+client

  • artoodetoo

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

    Spritz 26 ноября 2014 г. 1:25, спустя 9 часов 53 минуты 13 секунд

    На всякий случай, верну вас в тему: хороших валидаторов на JS уже достаточно!
    Теперь ищется способ описывать правила для конкретной формы только один раз. Общие правила — и для клиента, и для сервера. Хочется делать меньше телодвижений и уменьшить вероятность расхождения.

    ιιlllιlllι унц-унц
  • Sinkler

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

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

    Spritz 27 ноября 2014 г. 6:04, спустя 9 минут 27 секунд

    вот что-то похожее по сабжу для laravel https://github.com/believer-ufa/prettyforms

    @Sinkler, как я понял там опять таки есть некая js-либа, которая сожержит валидаторы. Тут расписан алгоритм работы, который рассказывает нам что валидация происходит сначала в js, потом данные идут на сервер и проверяются отдельно.

    Я так и не нашел ответа поддерживает либа DSL описания валидаторов?

    adw/0
  • Sinkler

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

    Spritz 27 ноября 2014 г. 6:55, спустя 50 минут 29 секунд

    ну тут зацепка в том, что валидаторы для php описываются так же, как валидаторы для js

    т.е. можно описывать в одном месте, а форму генерить уже с этими правилами

  • adw0rd

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

    Spritz 27 ноября 2014 г. 7:10, спустя 15 минут 5 секунд

    Посмотрел ссылки, вроде как надо два раза описывать валидатор или я снова не понял?

    Спустя 15 сек.

    В каком одном месте? Как это выглядит?

    adw/0
  • Sinkler

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

    Spritz 27 ноября 2014 г. 7:17, спустя 6 минут 34 секунды

    ну у автора сего чуда форма руками описывается в примерах)

    но он бы мог расширить мысль и на основе вот этого

    private $rules = [     
        'password' => 'required|min:6'    
    ];
    

    генерировать

    <input type="password" name="password" data-validation="required|min:6">
    

    просто мне кажется, что он хотел сделать то же самое, что ТС, просто не довёл до кондиции)

  • phpdude

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

    Spritz 27 ноября 2014 г. 7:19, спустя 2 минуты 46 секунд

    @Sinkler, а потмоу что когда начнет прикручивать custom error messages руки опустятся ))) а прикручивать придется иначе все это треш. в этом плане мне симпатизировала валидация на angularJS.

    Сапожник без сапог
  • adw0rd

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

    Spritz 27 ноября 2014 г. 7:29, спустя 9 минут 25 секунд

    ну у автора сего чуда форма руками описывается в примерах)

    но он бы мог расширить мысль и на основе вот этого

    private $rules = [
    'password' => 'required|min:6'
    ];

    генерировать

    <input type="password" name="password" data-validation="required|min:6">

    просто мне кажется, что он хотел сделать то же самое, что ТС, просто не довёл до кондиции)

    @Sinkler, ну это мелочь... Меня больше интересует, как добавить в одном месте новый валидатор, а не указать что надо использовать ту или инную валидацию.

    Вот например, разраба попросили добавить валидатор адреса Bitcoin-кошелька. Что дальше, она напишет два валидатора на js и на php?

    adw/0
  • phpdude

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

    Spritz 27 ноября 2014 г. 7:31, спустя 2 минуты 36 секунд

    @adw0rd, а ты к чему склоняешься?

    Сапожник без сапог
  • adw0rd

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

    Spritz 27 ноября 2014 г. 7:52, спустя 20 минут 38 секунд

    Простейшее - юзать js, либо писать свой DSL, но это уже мегадроч если прям валидаторы будут настолько кастомными и более-менее большими

    adw/0
  • phpdude

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

    Spritz 27 ноября 2014 г. 7:54, спустя 2 минуты 26 секунд

    Простейшее - юзать js, либо писать свой DSL, но это уже мегадроч если прям валидаторы будут настолько кастомными и более-менее большими

    @adw0rd, либо валидировать на сервере через ajax js ;-))

    профит как от мегадроча, кода 5 строчек.

    небольших пара минусов, но не особо важно

    Сапожник без сапог
  • adw0rd

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

    Spritz 27 ноября 2014 г. 10:38, спустя 2 часа 43 минуты 34 секунды

    Соглашусь с тобой, дроч не стоит того

    adw/0
  • Sinkler

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

    Spritz 27 ноября 2014 г. 10:41, спустя 2 минуты 41 секунду

    согласился ещё на первой странице :D

  • phpdude

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

    Spritz 27 ноября 2014 г. 10:41, спустя 15 секунд

    Соглашусь с тобой, дроч не стоит того

    @adw0rd, уху, учитывая непростое поведение форм и сообщений об ошибках на нетипичных проектах, имеет смысл просто положить решение задачи в одно место, а вью пусть оттуда и тягают его.

    Сапожник без сапог
  • Sinkler

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

    Spritz 27 ноября 2014 г. 10:43, спустя 1 минуту 32 секунды

    весь день по три раза одно и то же повторяем)

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