Фильтрация новых чисел в форме с записями в базе от FormIt

Здравствуйте все.

Помогите, пожалуйста, разобраться со сравнением новых, сгенерённых из URL, чисел/номеров с существующими в базе, записанными FormItSaveForm.



Ситуация простая:
— генерим URL с числом/номером в base64, переходим по нему в браузере;
— транскодируем его в число/номер при помощи сниппета и вставляем в поле формы FormIt;
— проводим сравнение: если номер в базе не записан — FormItSaveForm записывает значение, если номер существует — редирект на страницу: «Такой ID уже существует».

Раньше делал эту проверку по старинке в связке FormIt -> FormSave -> запись в файл.txt -> сравнение чисел в форме и файле. Решил сделать более грамотно через FormItSaveForm. Зачем писать в файл и читать его потом, когда можно «смотреть» в базу и сравнивать?

Готового решения найти не смог. Смотрел в сторону фильтров phx и pdoFetch, но запутался в двух соснах — квалификации не хватает…

Подскажите, пожалуйста, можно ли реализовать проверку числового значения на странице с записями в базе данных (например, из поля FormIt: field_1) с последующим редиректом, если номера совпадают?
Maxim Krutyko
16 апреля 2018, 16:05
modx.pro
826
0

Комментарии: 3

Илья Уткин
17 апреля 2018, 13:22
0
Насколько я знаю, FormIt сохраняет данные в виде JSON и проверить, есть ли запись с таким значением одного из полей будет проблематично.

Поэтому лучше производить запись данных в базу самостоятельно — создать табличку, прописать схему и номер записывать в отдельный столбец. Тогда и проверку можно будет сделать очень просто.

Есть готовое, но платное решение — customExtra. Зато в документации есть пример создания новой записи, останется только проверку дописать.

Из бесплатного есть MIGXdb, но я с ним так и не разобрался)
    Maxim Krutyko
    19 апреля 2018, 17:50
    0
    Илья, благодарю за ответ. Да потыкался, почитал, поискал… Не хватает опыта разработчика (а я совсем не разработчик), чтобы внятно разобраться с этими дополнениями. Тем более, MIGX-совые дела надо конкретно углублённо изучать, чтоб понимать что и зачем делаешь. А это много практико-часов надо наработать. Я обычно ищу готовые пошаговые руководства и применяю. По простому…

    Может быть подскажешь, есть ли какие примеры по проверке полей из базы данных и данных на странице?
      Илья Уткин
      20 апреля 2018, 07:51
      0
      Неа, готовых примеров не встречал.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3