Как организовать мой код при разработке форм, чтобы соответствовать следующим требованиям? - PullRequest
0 голосов
/ 22 января 2011

Я просто пытаюсь найти правильный способ построения архитектуры для моих форм, удовлетворяющей следующим требованиям:

  1. Форма должна иметь проверку на стороне сервера.
  2. Если пользователь заполняет форму на domain.com/register и форма не проходит проверку на стороне сервера, он должен быть возвращен на domain.com/register с отображением ошибок.
  3. (продолжениеиз пункта № 2) Если пользователь возвращается на domain.com/register для исправления ошибок проверки, данные, которые они уже ввели во входные данные, должны автоматически отображаться.
  4. Если пользователь щелкает назад или вперед на странице формы, браузер не должен выдавать предупреждение «Подтверждение повторной отправки формы».

Я немного запутался в том, куда отправлять формудолжен быть пост к.Должна ли форма на domain.com/register публиковать на другой странице, которая просто обрабатывает проверку?Если так, как я могу передать ошибки проверки и введенные данные обратно на domain.com/register?

Или, должна ли форма отправлять сама себе?Если да, как я могу запретить браузеру выдавать предупреждение «Подтвердить повторную отправку формы» при нажатии кнопки «Назад» или «Вперед»?

1 Ответ

0 голосов
/ 22 января 2011

Логический способ приблизиться к этому (который пытается сохранить все связанные элементы настолько локализованными, насколько это возможно), состоит в том, чтобы использовать одну страницу, которая имеет «mode» switch switch рядом с верхом с помощью обновить "дело в нем, который содержит ваш код проверки.

Внутри формы вы просто публикуете на той же странице, на которой находитесь, но добавляете скрытое поле в форму с именем «mode» со значением «update». Таким образом, когда форма отправлена, выполнение перейдет в «обновление» вашего оператора switch, и вы сможете выполнить требуемую проверку.

Если проверка прошла успешно, вы обычно переходите на другую страницу (используя header('Location: ...'); с последующим exit();), и если проверка не проходит, выполнение просто продолжается вниз по странице, и в этот момент вы должны вывести ошибки, которые произошли во время проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...