У меня есть функция где при выборе checkbox published:
$('#publish-activity').change(function () {
var reasons = [];
if (!$('#activity_activity_group_id').val()) {
reasons.push("select activity group");
}
if ($('.activity-content .items .activity-content-item').length == 0) {
reasons.push("add quiz questions");
}
var requiredField = $('.activity-content').find('[required=required]');
for (var i = 0; i < requiredField.length; i++) {
if ($(requiredField[i]).val() == '') {
$(requiredField[i]).addClass('error');
reasons.push("you must fill enter value for all added multiple choice question options");
}
}
if (this.checked && reasons.length) {
$('#unpublish-activity')[0].checked = true;
sweetAlert({
showCancelButton: false,
confirmButtonText: 'OK',
title: 'Cannot publish quiz',
text: 'In order to publish quiz, ' + _.join(reasons, ', '),
type: "warning"
});
}
})
она работает - и как результат выводит сообщения об ошибке, но вот сообщение reasons.push("you must fill enter value for all added multiple choice question options") выводится несколько раз (а точнее столько сколько обработано полей)
как исправить код что бы сообщение выводилось одной записью на обработку все полей