Пример формы с двумя наборами полей на FormLister
- Дополнения
- FormLister
- Примеры
- Два набора полей
Поддержать: USDT TRC20: TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh
1571
Пример формы с двумя наборами полей на FormLister
В зависимости от значения поля type используются разные правила валидации и шаблоны письма.
Вызов FormLister
[!FormLister?
&formid=`basic`
&rules=`{
"name": {
"required": "Обязательно введите имя"
},
"email": {
"required": "Обязательно введите email",
"email": "Введите email правильно"
},
"phone": {
"required": "Обязательно введите номер телефона",
"phone": "Введите номер правильно"
}
}`
&entRules=`{
"entname": {
"required": "Обязательно введите имя"
},
"entemail": {
"required": "Обязательно введите email",
"email": "Введите email правильно"
},
"entphone": {
"required": "Обязательно введите номер телефона",
"phone": "Введите номер правильно"
},
"entaddress": {
"required": "Обязательно введите адрес"
}
}`
&formControls=`type`
&defaults=`{"type": "Физическое лицо"}`
&formTpl=`@CODE:
`
&to=`test@test.com`
&subjectTpl=`@CODE:[+type.value+]`
&reportTpl=`@CODE:
Имя: [+name.value+]
Телефон: [+phone.value+]
Email: [+email.value+]
`
&reportEntTpl=`@CODE:
Название предприятия: [+entname.value+]
Телефон: [+entphone.value+]
Email: [+entemail.value+]
Юридический адрес: [+entaddress.value+]
`
&prepare=`typeSelector`
&errorClass=` has-error`
&requiredClass=` has-warning`
&messagesOuterTpl=`@CODE:[+messages+]`
&errorTpl=`@CODE:[+message+]`
!]
Prepare-сниппет typeSelector
if ($FormLister->getField('type') == 'Юридическое лицо') {
$FormLister->config->setConfig(array(
'rules'=>$FormLister->getCFGDef('entRules'),
'reportTpl'=>$FormLister->getCFGDef('reportEntTpl')
));
} else {
$FormLister->setField('type','Физическое лицо');
}