FormIt- что это такое?
FormIt – это сниппет динамической обработки формы для MODx Revolution. Он обрабатывает форму после подтверждения, валидирует действия и дает на них отклик, например отправляет email-а. Он не генерирует форму, но он может повторно заполнить ее, если она не прошла валидацию.
История
FormIt написал Шоном Маккормиком (Shaun McCormick) как форму обработки Extra, первый официальный релиз состоялся 19 октября 2009 года.
MODX Formit рекомендации по использованию
Просто поместите запрос сниппета FormIt в ресурс, содержащий форму, которую Вы хотите использовать. В отличие от аналоговых предшественников (прежде всего eForm в MODx Evolution), не нужно помещать форму в чанк и ссылаться на чанк в запросе сниппета FormIt: Вы в буквальном смысле вставляете запрос сниппета вместе с формой, которую требуется обработать. Укажите в запросе сниппета «hooks»(или пост валидационные скрипты обработки). Затем добавьте проверку (валидацию) с помощью параметров &validate и &customValidators в тег сниппета.
Если у Вас на странице несколько форм, вставьте свойство &submitVar в запрос сниппета имени элемента формы внутри нее (то есть, &submitVar=`form1-submit`). Эта постановка для FormIt означает обработку запросов форм с POST-переменной.
Formit доступные свойства
Ниже перечислены общие доступные свойства для запроса FormIt (не включая хук-специфических свойств):
|
Имя |
Описание |
Значение по умолчанию |
1 |
hooks |
Какие скрипты выполнять, если таковые имеются, после того, как форма проходит проверку. Это может быть разделенный запятыми список крючков, и если проверка не пройдена, обработка не происходит. Крючком может быть также имя сниппета, которое будет выполнять этот сниппет.
|
|
2 |
preHooks |
Какие скрипты выполнять, если таковые имеются, пока форма загружается. Это может быть разделенный запятыми список хуков (hooks), и если проверка не пройдена, обработка не происходит. Хуком может быть также имя сниппета, которое будет выполнять этот сниппет. |
|
3 |
submitVar |
Если задано, обработка формы не начнется, если POST-переменная не пройдена. Обратите внимание: требуется, если Вы используете &store property (+ задано submit var in input="submit"!). |
|
4 |
validate |
Разделенный запятыми список полей для проверки, где каждое имя поля имеет вид name:validator (например, username:required,email:required). Валидаторы также могут быть сцеплены, как email:email:required. Это свойство может присваиваться нескольким строкам. |
|
5 |
validationErrorMessage |
Общее сообщение об ошибке, устанавливается в плейсхолдер, если валидация не пройдена. Может содержать , если Вы хотите отобразить список всех ошибок в верхней части. |
<p class="error">A form validation error occurred. Please check the values you have entered.</p> |
6 |
validationErrorBulkTpl |
HTML tpl, который используется для каждой отдельной ошибки в общем значении валидации общего сообщения об ошибке. |
<li></li> |
7 |
errTpl |
HTML враппер ( wrapper) для сообщений об ошибках. Примечание: не чанк, а только HTML.
|
<span class="error"></span> |
8 |
customValidators |
Разделенный запятыми список настраиваемых имен валидатора (сниппетов), которые Вы планируете использовать в этой форме. Они должны быть четко сформулированы здесь, или они не будут работать. |
|
9 |
clearFieldsOnSuccess |
Если true, очищает поля по успешному подтверджению форм без редиректа. |
1 |
10 |
store |
Если true, будет хранить данные в кэше для выборочного использования сниппетом FormItRetriever. |
0 |
11 |
storeTime |
Если для 'store' установлено true, определяет количество секунд для сохранения данных из подачи формы. По умолчанию пять минут. |
300 |
12 |
placeholderPrefix |
Префикс, используемый для всех плейсхолдеров, установленных FormIt для полей. |
fi. |
13 |
successMessage |
Если не используется крючок редиректа, отображается сообщение об успехе после успешной подачи. |
|
14 |
successMessagePlaceholder |
Имя плейсхолдера, куда помещается сообщение об успешном выполнении. |
fi.successMessage |
15 |
redirectTo |
ID страницы "Thank You", куда посетитель может быть отправлен после успешного подтверждения подачи формы, но этот параметр показывается, только если Вы включите "redirect" в list of &hooks. |
|
Проверка
Проверка (валидация) в FormIt осуществляется через свойство &validate, и может использоваться для автоматического проведения проверки по любому из полей в форме.
Для получения дополнительной информации о проверке в FormIt, посетите страницу Validators.
Хуки
Хуки (Hooks) – это, по существу, скрипты, которые выполняются во время обработки FormIt. Хуки могут соединяться: сначала выполняется первый хук, если он пройден удачно, задействуется следующий.
Для получения дополнительной информации о хуках, посетите страницу Hooks.