FormIt

Что такое FormIt

FormIt это динамически обрабатываемый сниппет для MODX Revolution. Он обрабатывает форму после представления, выполняет проверку и последующие действия, такие как отправка письма на email. Он не генерирует форму, но может перезаполнить её в случае некоректно введённых данных.

История изменений

Shaun McCormick написал FormIt как форму дополнительной обработки и впервые опубликовал дополнение 19 октября 2009г.

Загрузка

Вы можете скачать дополнение через менеджер пакетов Modx (Система->управление пакетами->загрузить дополнения) или скачать из официального репозитория.

Разработка и отчёт об ошибках

FormIt разрабатывается и хранится на GitHub и доступен по этой ссылке.

API документация

Как использовать

Просто поместите вызов снипета FormIt в ресурс, содержащий вашу форму. В отличие от аналогичных предшественников (в первую очередь eForm в MODx Evolution) вы можете не помещать форму в чанк, а сослаться на чанк при вызове снипета. Укажите "хуки" (или сценарии пост-обработки) в вызове снипета. Затем добавте проверку с помощью &validate и &customValidators параметров в снипете.

Если у вас несколько форм на странице, установите свойство &submitVar в вызове вашего сниппета, в соответствии с именем элемента в форме (то есть, например, &submitVar=`form1-submit`). Это укажет FormIt обрабатывать указанный POST запрос.

Доступные свойства

Доступны следующие общие свойства для вызова FormIt (не включая хук-специфические свойства):

НазваниеОписаниеЗначение по умолчинию
hooks Набор скриптов для проверки. Это может быть разделённый запятыми список хуков, и если первый не срабатывает, выполнение не прервётся. Хук может быть фрагментом имени снипета в котором он выполняется.  
preHooks Если все скрипты проходят проверку, то форма загружается. Это может быть разделённый запятыми список хуков, и если первый не срабатывает, выполнение не прервётся. Хук может быть фрагментом имени снипета в котором он выполняется.  
submitVar Если установленно, не начнёт обаботку формы если POST переменная не передалась. Примечание: необходимо если вы используете &store свойство (+ set submit var in input="submit"!).  
validate Разделённый запятыми список полей для валидации, с именем каждого поля типа имя:валидатор (например: username:required,email:required). Валидаторы также могут быть объединены, подобно email:email:required. Это свойство может быть указанно в нескольких строках.  
validationErrorMessage Сообщениеоб ошибке общего характера для случая, когда не прошла валидация. Может содержать [[+erors]] если вы хотите вверху отобразить список всех ошибок.

A form validation error occurred. Please check the values you have entered.(Произошла ошибка проверки формы, проверте введёные значения).

validationErrorBulkTpl HTML tpl используется для каждой ошибки в общем выводе сообщения об ошибках.  
errTpl Обертка HTML сообщений об ошибках. Примечание: не чанк, просто HTML.  
customValidators Разделённый запятыми произвольный список проверок(снипетов) который вы планируете использовать в этой форме. Они должны быть четко сформулированы здесь, иначе они не будут работать.
clearFieldsOnSuccess Если истина, будут очищены поля при успешной отправке данных из формы. Без переадресации. 1
store Если истина, данные в кэше будут храниться и использоваться при помощи снипета FormItRetriever . 0
storeTime Если хранилище активированно (значени store 1),здесь определяется количество секунд для хранения данных из формы. По умолчанию 5 минут. 300
placeholderPrefix Префикс, используемый для всех плейсхолдеров установленных FormIt для полей. fi.
successMessage Если не используется перенаправляющий хук, отображает сообщение об успешной отправке данных.  
successMessagePlaceholder название плейсхолдера для вывода сообщения об успешной отправке. fi.successMessage
redirectTo id страницы "спасибо за обращение", куда посетитель будет переведён после успешной отправки формы, но это параметр только для чтения если вы включили "redirect" в список хуков.  

Проверка

Проверка в FormIt осуществляется через &validate свойство, и может быть использована для автоматической проверки  любого из полей в форме.

Для более подробной информации о проверке в FormIt, посетите Validators.

Хуки

Хуки в основном сценарии, которые выполняются во время обработки FormIt. Они могут быть соеденены последовательно. Т.е. следующий хук будет выполнятся только в случае успеха предыдущего.

Для получения более подробной информации о хуках посетите: Hooks.

Дополнительно

  1. FormIt.Hooks
  2. FormIt.Validators
  3. FormIt.FormItRetriever
  4. FormIt.Tutorials and Examples
  5. FormIt.Roadmap
  6. FormIt.FormItCountryOptions
  7. FormIt.FormItStateOptions
НазадВперёд