From: marina Date: Wed, 28 May 2025 07:18:10 +0000 (+0300) Subject: ERP-417 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=404c0cf43bf82e724f019d6327d5f9734dcfbdef;p=erp24_rep%2Fyii-erp24%2F.git ERP-417 --- diff --git a/erp24/web/js/validate/validateForm.js b/erp24/web/js/validate/validateForm.js index 48780fbd..f369f2ad 100755 --- a/erp24/web/js/validate/validateForm.js +++ b/erp24/web/js/validate/validateForm.js @@ -3,10 +3,14 @@ $(".form-validate button").click(function (e) { e.preventDefault(); var yiiform = $("#" + form.id); + var errors = {}; + + $('.messages').html(''); + yiiform.find('.has-error').removeClass('has-error'); + yiiform.find('.help-block').remove(); if ($('.multiple-input-list__item').length === 0) { - alert('Добавьте хотя бы одно списание перед сохранением.'); - return false; + errors['__common'] = ['Добавьте хотя бы одно списание перед сохранением.']; } let allRowsHaveImage = true; @@ -24,7 +28,12 @@ $(".form-validate button").click(function (e) { }); if (!allRowsHaveImage) { - alert('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.'); + if (!errors['__common']) errors['__common'] = []; + errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.'); + } + + if (Object.keys(errors).length > 0) { + renderErrors(errors); return false; } @@ -41,23 +50,7 @@ $(".form-validate button").click(function (e) { if (data.success) { yiiform.submit(); } else { - if (data.errors) { - var values = []; - - $.each(data.errors, function (key, value) { - values.push(value); - var field = yiiform.find('[name="' + key + '"]'); - if (field.length) { - field.closest('.form-group').addClass('has-error'); - field.after('
' + value[0] + '
'); - } - }); - - var strOut = values.join(', \n'); - var strOut2 = values.join(',
'); - alert(strOut); - $('.messages').html(strOut2); - } + renderErrors(data.errors); } }) .fail(function () { @@ -65,4 +58,23 @@ $(".form-validate button").click(function (e) { }); return false; -}); + + function renderErrors(errors) { + var values = []; + + $.each(errors, function (key, value) { + values.push(value); + + if (key !== '__common') { + var field = yiiform.find('[name="' + key + '"]'); + if (field.length) { + field.closest('.form-group').addClass('has-error'); + field.after('
' + value[0] + '
'); + } + } + }); + + var strOut2 = values.flat().join(',
'); + $('.messages').html(strOut2); + } +}); \ No newline at end of file