Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Результаты проверки сервером формы (https://javascript.ru/forum/jquery/7386-rezultaty-proverki-serverom-formy.html)

ekkl 29.01.2010 18:38

Результаты проверки сервером формы
 
Всем добрый день. Точно не знаю как решаются подобные вопросы, поэтому прошу прощения, если темка существует.
---
Есть форма, которая грузиться по ajax. (хотя я думаю это не столь важно)
Для проверки полей использую formvalidation. Но так как проверка на сервере все равно необходима этот плагин не сильно "перегружаю" правилами проверки, тем более, что не некоторые "вопросы" относительно правильности заполнения может дать ответ только сервер.
Так вот данные на сервер отправляются тоже ajax (метод formSubmit)
Сервер проверяет эти данные. Проверил.
Вот тут и возникает вопрос. Как он должен сообщить клиентскому скрипту все ли в порядке, или нет.
Я делал так: если все в порядке, сервер возвращает строку "ok".
Если есть ошибка в заполнении полей как серверу лучше всего дать ответ, в каком поле, какая ошибка. Думал упаковать строку в json
{"user":"нет такого позователя"}

теперь клиентский скрипт должен разобрать строку и подсветить нужные поля используя тот же formvalidation
Свои мысли я изложил, что не так, может лучше сделать как-то по другому?

Мараторий 30.01.2010 01:06

Как реализовать это сугубо личное дело.
Я бы в любом случае возвращал JSON.
Все норм:
{errors: false}
Есть ошибка:
{errors: true, user: "blah-blah"}

PeaceCoder 30.01.2010 01:41

{status:'ok'} // все ок.
{status:'errors', errors:{user:'текст ошибки',email:'текст ошибки'}} // ошибки
{status:'reload', reload: 2000 } // например указываем что надо перезагрузить страницу и время ожидания или еще что.

ekkl 30.01.2010 14:29

Спасибо! Я так и думал вначале.
Только вопрос ещё стоял вот в чем.
Возвращает сервер {status:'errors', errors:{user:'текст ошибки',email:'текст ошибки'}}
есть ошибка. Надо подсветить поля user email. (добавить класс к полю error и метку возле поля вывести.
Можно попытаться вручную форму обработать. Но то же самое делает плагин formvalidation
Есть ли в нем функции, которыми можно подсветить поле с ошибкой. Т.е. чем лучше воспользоваться для подсветки полей в случае ошибки


Часовой пояс GMT +3, время: 18:27.