let errors = data.errors || {};
- const rows = $('.multiple-input-list__item');
+ const rows = $('.multiple-input-list__item:visible');
let allRowsHaveImage = true;
+ let missingImageProducts = [];
rows.each(function () {
let row = $(this);
let hasImageInRow = row.find('.list-cell__images_row img').length > 0;
let hasFilesSelected = fileInput.length && fileInput[0].files.length > 0;
if (!hasImageInRow && !hasFilesSelected) {
allRowsHaveImage = false;
- return false;
+ let productSelect = row.find('select[name$="[product_id]"]');
+ let productName = productSelect.length ? (productSelect.find('option:selected').text() || '').trim() : '';
+ if (productName) {
+ missingImageProducts.push(productName);
+ }
}
});
if (!allRowsHaveImage) {
if (!errors['__common']) errors['__common'] = [];
- errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.');
+ let msg = 'Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.';
+ if (missingImageProducts.length > 0) {
+ msg += ' Нет фото у: ' + missingImageProducts.join(', ');
+ }
+ errors['__common'].push(msg);
}
if (!allowedCommentUsers.includes(currentUser) && commentValue !== initialCommentValue) {