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;
});
if (!allRowsHaveImage) {
- alert('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.');
+ if (!errors['__common']) errors['__common'] = [];
+ errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.');
+ }
+
+ if (Object.keys(errors).length > 0) {
+ renderErrors(errors);
return false;
}
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('<div class="help-block">' + value[0] + '</div>');
- }
- });
-
- var strOut = values.join(', \n');
- var strOut2 = values.join(', <br>');
- alert(strOut);
- $('.messages').html(strOut2);
- }
+ renderErrors(data.errors);
}
})
.fail(function () {
});
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('<div class="help-block">' + value[0] + '</div>');
+ }
+ }
+ });
+
+ var strOut2 = values.flat().join(', <br>');
+ $('.messages').html(strOut2);
+ }
+});
\ No newline at end of file