@creativeTeams

Как выполнить валидацию radio button в formit?

Здравствуйте, подскажите, пожалуйста, как сделать валидацию флажков в форме, используется formit и fetchit

Форма
<form class="cosultation-form" action="[[~[[*id]]? &scheme=`full`]]" method="post">
    
    <label class="input-wrapper">Ваше имя
        <input class="input" type="text" name="name" placeholder="Иван" value="[[+fi.name]]">
    </label>
    
    <label class="input-wrapper">Номер телефона
        <input class="input" type="tel" name="phone" placeholder="+7 (999) 999-99-99" value="[[+fi.phone]]">
    </label>
    
    <div class="radio-buttons-title">Выберите удобный способ связи</div>
    <div class="radio-buttons d-flex">
        <label class="input-wrapper">
            <input class="input-radio[[!+fi.error.way:notempty=` is-invalid`]]" type="radio" name="way[]" value="call" [[!+fi.way:FormItIsChecked=`call`]]>
            <span>Звонок</span>
        </label>
        
        <label class="input-wrapper">
            <input class="input-radio[[!+fi.error.way:notempty=` is-invalid`]]" type="radio" name="way[]" value="telegram" [[!+fi.way:FormItIsChecked=`telegram`]]>
            <span>Telegram</span>
        </label>
        
        <label class="input-wrapper">
            <input class="input-radio[[!+fi.error.way:notempty=` is-invalid`]]" type="radio" name="way[]" value="whatsapp" [[!+fi.way:FormItIsChecked=`whatsapp`]]>
            <span>WhatsApp</span>
        </label>
    </div>
    
    <div class="cosultation-form__policy form-policy">Я согласен(а) на обработку моих <a href="/personal-data-processing">персональных данных</a></div>
    
    <button class="button cosultation-form__button" type="submit">Отправить</button>
  
</form>


Вызов сниппета
[[!FetchIt?
                          &snippet=`FormIt`
                          &form=`form-consultation`
                          &hooks=`email`
                          &emailSubject=`Бесплатная консультация`
                          &emailTpl=`form-consultation-mail`
                          &emailTo=`test@test.ru`
                          &validate=`name:required,phone:required,way:required`
                          &validationErrorMessage=`<div class="form-error-message">В форме содержатся ошибки!</div>`
                          &successMessage=`<div class="form-success-message">Ваше сообщение было отправлено. Спасибо!</div>`
                        ]]
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
Основы HTML. У вас ни один флажок по умолчанию не отмечен, а форма в таком случае не будет отправлять значение при сабмите. Поэтому помимо всего прочего вам нужно добавить в форму скрытое поле, т.е. типа hidden с таким же именем:
<input type="hidden" name="way[]" value="">
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы