believer-ufa / prettyforms

Helps to make a simple and easy client-server validation for forms
http://believer-ufa.github.io/prettyforms/
MIT License
51 stars 8 forks source link

Алерты #1

Open salyakhov-art opened 9 years ago

salyakhov-art commented 9 years ago

Писали подобный велосипед, но твоя реализация нравится больше. Не плохо было бы добавить в ответ модальное окно. Например, если сервер вернет:

$json_response = Commands::generate(array(
        'alert' => Commands::generateValidationErrors(array(
            'type' => 'error,
            'text' => ''Ошибка! Сейчас будет редирект',
            'url' => '/'
        ))
    ));

В итоге вылезет модальное окно. Окна можно использовать бутстраповские. Из типов модальных окон можно выделить 'error', 'success', 'confirm'.

believer-ufa commented 9 years ago

Привет) имеешь ввиду - послать команду, из-за которой откроется модальное окно с неким содержимым?

В одном проекте я делал подобное, можно придумать, как красиво встроить сюда, да.

Я подумаю над этим, спасибо за интерес к библиотеке)

salyakhov-art commented 9 years ago

Привет. Я в данный момент активно пользуюсь аналогичной библиотекой. Но там приходится инициализировать конфиги для каждой формы. Тут же очень удрбно, что формы можно генерить из php.

Вообще очень интересно реализована валидация на сайте https://qiwi.ru/ . Там текст сообщения уже хранится в data тегах.

Увы, в JS я не силен. Но могу написать плагинчик к генерации форм для фреймворка Phalcon. Добавить бы еще пару фич, но для них я создам отдельные реквесты.

Если интересно, то можешь ознакомиться: http://pastexen.com/code.php?file=IVOQD9WDqd.js

believer-ufa commented 9 years ago

Посмотрел вариант на сайте Киви. Интересно, да, и очень схоже. Но я не вижу особого смысла в подобном сложном синтаксисе описания правил валидации для полей, который используется у них. Такой подход потребует больше времени на написание правил для каждого поля формы, чем когда сообщения хранятся в центральном месте, а для полей ты просто пишешь фразы, вроде "notempty; minlength:5;".

Код твоего приложения посмотрел - да, очень похоже на моё решение) Только чуть посложнее.

А насчёт плагина для фалкона - что он будет делать? Так-то, формы библиотекой не генерируются ведь. Там просто некоторые атрибуты добавляешь свои для некоторых элементов, и больше ничего не надо делать)