From de63e9c5c20c04e7327c4c123bb22d60cae067a6 Mon Sep 17 00:00:00 2001 From: marina Date: Wed, 28 May 2025 10:22:32 +0300 Subject: [PATCH] ERP-417 --- erp24/web/js/validate/validateForm.js | 46 ++++++++++++++------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/erp24/web/js/validate/validateForm.js b/erp24/web/js/validate/validateForm.js index d59981c0..55ad42d7 100755 --- a/erp24/web/js/validate/validateForm.js +++ b/erp24/web/js/validate/validateForm.js @@ -17,30 +17,35 @@ $(".form-validate button").click(function (e) { 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(); } }) @@ -52,10 +57,8 @@ $(".form-validate button").click(function (e) { 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) { @@ -64,8 +67,7 @@ $(".form-validate button").click(function (e) { } } }); - var strOut2 = messages.flat().join(',
'); $('.messages').html(strOut2); } -}); \ No newline at end of file +}); -- 2.39.5