Валидация и запись данных из формы, нужна помощь.

Статус
В этой теме нельзя размещать новые ответы.

Jarhead

Постоялец
Регистрация
17 Июн 2011
Сообщения
415
Реакции
169
Делаю модуль для сайта, в настройках модуля клиент создает свою собственную форму с любыми импутами и их кол-ом в этой форме (text,select,textarea,checkbox,radio,file upload), на самом сайте появляется форма со всеми ипутами которые он добавил, задача получить все данные переданные этой формой, проверить их на валидность, а ведь у каждого типа инпутов еще свои проверки на валидность, и записать в базу. Вот как это сделать не зная заранее кол-ва и названий этих инпутов?

Думаю через Сериализацию записывать данные в поле бд если что.

PS:
Сейчас вот думаю в сторону того чтобы, при отправке данных из формы, сначала получать информацию о всех созданных инпутах, потом сравнивать полученные данные из формы с информацией о созданных инпутах и производить валидацию.
 
Последнее редактирование:
Делаю модуль для сайта, в настройках модуля клиент создает свою собственную форму с любыми импутами и их кол-ом в этой форме (text,select,textarea,checkbox,radio,file upload), на самом сайте появляется форма со всеми ипутами которые он добавил, задача получить все данные переданные этой формой, проверить их на валидность, а ведь у каждого типа инпутов еще свои проверки на валидность, и записать в базу. Вот как это сделать не зная заранее кол-ва и названий этих инпутов?

Думаю через Сериализацию записывать данные в поле бд если что.

PS:
Сейчас вот думаю в сторону того чтобы, при отправке данных из формы, сначала получать информацию о всех созданных инпутах, потом сравнивать полученные данные из формы с информацией о созданных инпутах и производить валидацию.
Думаю использовать например data-validation-type="password" очень помогают для доп инфы и отправлять всё через ajax
 
Я-бы использовал префиксы для name а не data-атрибуты. Т.е. вида <input name="phone-personal ... /> <input name="phone-work" ... />. Проще разбирать в обработчике, имхо.
 
Я-бы использовал префиксы для name а не data-атрибуты. Т.е. вида <input name="phone-personal ... /> <input name="phone-work" ... />. Проще разбирать в обработчике, имхо.
Это само собой но для доп. инфы придётся что-то придумывать...
и "сначала получать информацию о всех созданных инпутах, потом сравнивать полученные данные из формы с информацией о созданных инпутах и производить валидацию." Тоже хороший вариант.
 
В форме как я выше написал будет так же и возможность загрузки файлов, а вот Ajax с этим не очень дружит хорошо, есть решения которые работают в IE начиная с 10 версии и выше и в последних версиях других браузеров или для загрузки файлов нужно использовать обычный метод, а для всего другого Ajax, но это вообще все усложняет, думаю обойтись без Ajax все таки.

Пока думаю реализовать как то так, но даже не начинал пока:

Код:
$form = $_POST;
for($form as $k => $r) {
  $k = explode($k,'_');
  if (count($k)!=2) continue;
  list($type,$field) = $k;
   $type = text|select|...
   $field = 1|2|...|name|fio|phone
}

Ну, а в инпутах в поле "name" прописать название "типа инпута" и через нижнее подчеркивание ID созданного в админке инпута. Например: name="text_1"
 
Последнее редактирование:
Это само собой но для доп. инфы придётся что-то придумывать...
и "сначала получать информацию о всех созданных инпутах, потом сравнивать полученные данные из формы с информацией о созданных инпутах и производить валидацию." Тоже хороший вариант.

Для какой другой доп. инфы?
И можно по подробнее на счет data-validation-type, почему то у меня даже не гуглится не чего по этой аббревиатуре.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху