В зависимости от значения поля type используются разные правила валидации и шаблоны письма.
[!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:
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="well">
<form method="post">
<input type="hidden" name="formid" value="basic">
<div class="form-group">
<label class="radio-inline">
<input type="radio" name="type" value="Физическое лицо" > Физическое лицо
</label>
<label class="radio-inline">
<input type="radio" name="type" value="Юридическое лицо" > Юридическое лицо
</label>
</div>
<h3>Заполняется только физлицами</h3>
<div class="form-group">
<label for="name">* Имя</label>
<input type="text" class="form-control" id="name" placeholder="Имя" name="name" value="">
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="email">* Email</label>
<input type="text" class="form-control" id="email" placeholder="Email" name="email" value="">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="phone">* Телефон</label>
<input type="text" class="form-control" id="phone" placeholder="+375 29 123 45 67" name="phone" value="">
</div>
</div>
</div>
<h3>Заполняется только юрлицами</h3>
<div class="form-group">
<label for="name">* Название предприятия</label>
<input type="text" class="form-control" id="entname" placeholder="Название предприятия" name="entname" value="">
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="entemail">* Email</label>
<input type="text" class="form-control" id="entemail" placeholder="Email" name="entemail" value="">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="phone">* Телефон</label>
<input type="text" class="form-control" id="entphone" placeholder="+375 29 123 45 67" name="entphone" value="">
</div>
</div>
</div>
<div class="form-group">
<label for="name">* Юридический адрес</label>
<input type="text" class="form-control" id="entaddress" placeholder="Юридический адрес" name="entaddress" value="">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary"><i class="glyphicon glyphicon-envelope"></i> Отправить</button>
</div>
</form>
</div>
</div>
</div>`
&to=`test@test.com`
&subjectTpl=`@CODE:`
&reportTpl=`@CODE:
<p>Имя: </p>
<p>Телефон: </p>
<p>Email: <a href="mailto:"></a></p>
`
&reportEntTpl=`@CODE:
<p>Название предприятия: </p>
<p>Телефон: </p>
<p>Email: <a href="mailto:"></a></p>
<p>Юридический адрес: </p>
`
&prepare=`typeSelector`
&errorClass=` has-error`
&requiredClass=` has-warning`
&messagesOuterTpl=`@CODE:<div class="alert alert-danger" role="alert"></div>`
&errorTpl=`@CODE:<span class="help-block"></span>`
!]
if ($FormLister->getField('type') == 'Юридическое лицо') {
$FormLister->config->setConfig(array(
'rules'=>$FormLister->getCFGDef('entRules'),
'reportTpl'=>$FormLister->getCFGDef('reportEntTpl')
));
} else {
$FormLister->setField('type','Физическое лицо');
}