DLE-UniForm
DLE-UniForm copied to clipboard
не работает проверка чекбокса версия модуля 1.4 dle 10.4
Нужно сделать обязательный чекбокс в инлайн форме - типа согалсен с договором. Если не ставлю галочку то ошибка выходит в таком виде
[uf_error_checkbox1]
You must to accept TERMS & CONDITIONS
[/uf_error_checkbox1]
Никак не могу сделать так чтобы в ошибке н ебыло этих тегов а только текст те выводит теги на страницу. Если галочку ставлю то все в порядке.
В form где ошибки пишу так
[uf_error_checkbox1]
<li>You must to accept TERMS & CONDITIONS</li>
[/uf_error_checkbox1]
В самой форме вывожу так:
<input type="checkbox"
name="checkbox1" value="oneCheck"
[uf_checkbox_checkbox1_oneCheck]checked[/uf_checkbox_checkbox1_oneCheck]
> I agree with the Terms & Conditions</a>
конфиг:
required = email,name,checkbox1
...
checkboxFields = checkbox1
@pafnuty не забудь посмотреть этот тиккет :ticket:
еще хотел добавить, сообщение об ошибке с лишними тегами выводится только после заполнения первого обязательного поля, и фома всеравно может быть отправлена
а решение где посмотреть можно?
@vad-glove Этот баг в статусе 'open', пока решения нет.
понял - по крайней мере лучшее решение вышло через html <input type="checkbox" required />
Можно узнать а формат даты задать для передачи на почту можно? что бы приходило к примеру 12/12/2018 сорри что не в тему
Может пригодиться вариант с оповещением: Всем обязательным чекбоксам добавляем data-uf-checkbox-required="Тут текст предупреждения"
Например:
<input type="checkbox" name="rules" data-uf-checkbox-required="Необходимо согласиться с правилами">
В uniform.js после:
// ajax-отправка формы + эффекты
.on('submit', '[data-uf-form]', function () {
Вставляем:
if (!verifyСheckboxInForm($(this))) return false;
Перед или после этой функции:
// Функция, выполняемая перед отправкой формы
function ufStart(formData, jqForm) {
laddaLoad = jqForm.find('.ladda-button').ladda();
laddaLoad.ladda('start');
return true;
}
Вставляем:
// Проверка обязательного checkbox
function verifyСheckboxInForm(form) {
let checkboxArr = form.find('[data-uf-checkbox-required]:not(:checked)');
if (checkboxArr.length > 0) {
alert(checkboxArr.eq(0).attr("data-uf-checkbox-required"));
return false;
}
return true;
}
Теперь, если чекбокс не выбран, то форма не будет отправляться и будет выскакивать alert с текстом из первого не выбранного обязательного чекбокса. Вместо alert можно подцепить модалку к примеру colorbox ну или какой-нибудь notify