2012-06-06 2 views
0

Я искал SO SO довольно долго, поэтому извиняюсь, если задан подобный вопрос и ответили, но я не верю, что есть.Как проверить динамическую форму с помощью PHP?

Я использую скрипт проверки PHP и jQuery Validate для обработки всех форм на моем сайте. С известными полями проблем нет. Тем не менее, есть страницы, которые пользователь может ввести дополнительную информацию о лицах.

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

Моя проблема заключается в PHP. Я могу взять каждый массив и запустить хотя бы петли foreach, однако, если ошибка найдена в ЛЮБОМ поле, генерируется ошибка, и форма отображается снова со всеми ранее введенными данными полей. Я не могу определить, как указать исходные данные каждого поля, учитывая, что поля создаются динамически, когда появляются ошибки.

Самый простой способ я могу придумать для демонстрации это:

пользователь должен ввести процент пирога он хочет его друзей, чтобы поесть. Он должен выдать 100% своего пирога. Пользователь может выбрать динамически добавить друзей к своему пирогу, чтобы выпить феерию, но каждый человек должен получить по крайней мере 1% пирога, и они должны все вместе съесть 100%.

Sample code

Я создал пример сценария здесь, который показывает установку формы, но очевидно, что нет PHP бэкенд для тестирования. Вам нужно будет использовать свое воображение, как работает бэкэнд (я добавил в комментарии в html). Тот же принцип применим и к переменной PHP SESSION, так как эти данные должны быть переданы со страницы на страницу (если пользователь пересматривает эту страницу, должны отображаться суммы, введенные для каждой части пирога). Кроме того, я думаю, это само собой разумеется, но эти данные ДОЛЖНЫ БЫТЬ проверенной серверной стороной.

+0

Итак, у вас будет массив входных данных, некоторые из них недействительны, и вам нужно создать форму, которая предварительно заполнена им? Вы просто перебираете его и создаете элемент формы для каждого из них. В чем проблема? – Okonomiyaki3000

+0

@ Okonomiyaki3000 - Форма уже построена, добавлены динамические поля. Вы предлагаете, как только страница будет перезагружена (и, следовательно, проверена), при наличии ошибки игнорировать существующий код формы и просто создать новую форму с полями, которые я уже собрал? – JM4

+0

Да. (этот комментарий должен содержать не менее 15 символов) – Okonomiyaki3000

ответ

0

Не будете ли вы перезагружать страницу в случае ошибки PHP? В этом случае вы знаете индекс ошибки в цикле foreach, сохраненный для некоторой переменной - скорее всего, массив для обработки нескольких ошибок. Когда вы распечатываете параметры и вы снова перебираете представленный массив, вы не можете добавить дополнительный класс css в текстовое поле, когда вы достигнете количества, которое находится в вашем массиве ошибок.

+0

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

Смежные вопросы