yiiform.find('.has-error').removeClass('has-error');
yiiform.find('.help-block').remove();
- if (!data.success) {
- let errors = data.errors || {};
+ let errors = data.errors || {};
- // Проверка на фото после AJAX
- let allRowsHaveImage = true;
- $('.multiple-input-list__item').each(function () {
- let row = $(this);
- let hasImageInRow = row.find('.list-cell__images_row img').length > 0;
- let fileInput = row.find('.list-cell__imageFiles input[type="file"]');
- let hasFilesSelected = fileInput.length && fileInput[0].files.length > 0;
-
- if (!hasImageInRow && !hasFilesSelected) {
- allRowsHaveImage = false;
- return false;
- }
- });
+ const rows = $('.multiple-input-list__item');
+ if (rows.length === 0) {
+ if (!errors['__common']) errors['__common'] = [];
+ errors['__common'].push('Добавьте хотя бы одно списание.');
+ }
- if (!allRowsHaveImage) {
- if (!errors['__common']) errors['__common'] = [];
- errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.');
+ let allRowsHaveImage = true;
+ rows.each(function () {
+ let row = $(this);
+ let hasImageInRow = row.find('.list-cell__images_row img').length > 0;
+ let fileInput = row.find('.list-cell__imageFiles input[type="file"]');
+ let hasFilesSelected = fileInput.length && fileInput[0].files.length > 0;
+ if (!hasImageInRow && !hasFilesSelected) {
+ allRowsHaveImage = false;
+ return false;
}
+ });
+
+ if (!allRowsHaveImage) {
+ if (!errors['__common']) errors['__common'] = [];
+ errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.');
+ }
+ if (Object.keys(errors).length > 0) {
renderErrors(errors);
} else {
+ yiiform.off('submit');
yiiform.submit();
}
})
function renderErrors(errors) {
var messages = [];
-
$.each(errors, function (key, value) {
messages.push(value);
-
if (key !== '__common') {
var field = yiiform.find('[name="' + key + '"]');
if (field.length) {
}
}
});
-
var strOut2 = messages.flat().join(', <br>');
$('.messages').html(strOut2);
}
-});
\ No newline at end of file
+});