Формы и отображение ошибок.

Camillo

Новичок
Формы и отображение ошибок.

Все мы сталкивались с проблемой отображения ошибок валидации данных из формы.
Я считаю, что самый разумный вариант - это отображать ошибки рядом с ошибочными полями, при этом данные в полях будут сохранены для удобства пользователя.


Мне представляется, что это можно сделать следующими образами:

1. Передавать GETом, POSTом ошибки из обработчика на странцу с формой.
2. Проверять, писать ошибки в COOKIE и редиректить обратно на страницу с формой, где проверять наличие кук и отображать их.
3. п.2 только вместо COOKIE использовать сессии.
4. Использовать Ajax (самый прикольный вариант, но мне он не подходит)

Подскажите пожалуйста - какой вариант более отпимальный? Может быть есть еще какие-то варианты?
Где можно почитать\посмотреть грамотные примеры?

Заранее спасибо!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
2. Проверять, писать ошибки в COOKIE и редиректить обратно на страницу с формой, где проверять наличие кук и отображать их.
Я не редирекчу "туда" если есть ошибки.

-~{}~ 12.05.08 13:22:

Где можно почитать\посмотреть грамотные примеры?
http://phpclub.ru/detail/article/quickform

?
 

melo

однажды
Создать класс/функцию валидации, который проверяет нужные поля. Если происходят ошибки, то накапливать их в массив. В шаблоне, рядом с полями, отображать соответствующие ошибки, если они произошли.
 

Camillo

Новичок
Автор оригинала: melo
Создать класс/функцию валидации, который проверяет нужные поля. Если происходят ошибки, то накапливать их в массив. В шаблоне, рядом с полями, отображать соответствующие ошибки, если они произошли.
Это понятно, ну а если отображение и валидация происходят "в разных файлах"? Каким образом этот массив (или ключи массива) лучше всего передавать "файлу" с формами?

-~{}~ 12.05.08 14:30:

http://phpclub.ru/detail/article/quickform
Спасибо, сейчас посмотрю.
 

Фанат

oncle terrible
Команда форума
ну а если отображение и валидация происходят "в разных файлах"
а если на разных серверах?
зачем ставить бессмысленные условия?
и вообще - форма должна быть не в файле, а в шаблоне.
Каким образом этот массив (или ключи массива) лучше всего передавать "файлу" с формами?
ссессии. механизм, специально придуманный для таких случаев.
хотя большинство не заморочивается с ними, а просто показывает форму при ошибках. Хотя это и минус в юзабилити.
 

Camillo

Новичок
ссессии. механизм, специально придуманный для таких случаев.
хотя большинство не заморочивается с ними, а просто показывает форму при ошибках. Хотя это и минус в юзабилити.
Спасибо. Это всё, что я хотел услышать!
 

melo

однажды
ну если вы используете шаблон, то передавать массив ошибок в шаблон.
$smarty->assign('errors', $validator->getErrors());
что-то типа такого.
 

Camillo

Новичок
В smarty всё понятно, но шаблонизатор не используется в моём случае. Забыл это в теле топика указать.
 
Сверху