Я проверяю поля с помощью Laravel Request и могу показать сообщения проверки для обычных полей. Но когда дело доходит до атрибутов, имеющих массив, например, кода ниже, я не могу показать сообщение проверки.
HTML Код:
{!! Form::text('mobile_no[]', null, ['class'=>'form-control', 'id'=>'mobile_no[]', 'placeholder'=>'Enter Mobile Number']) !!}
{!! Form::text('mobile_no[]', null, ['class'=>'form-control', 'id'=>'mobile_no[]', 'placeholder'=>'Enter Mobile Number']) !!}
{!! Form::text('mobile_no[]', null, ['class'=>'form-control', 'id'=>'mobile_no[]', 'placeholder'=>'Enter Mobile Number']) !!}
AJAX Код:
(function ($) {
$('.add-form').on('submit', function (e) {
e.preventDefault();
var formObj = $(this);
var formUrl = formObj.attr('action');
$.each(formObj.find('input, select, textarea'), function (i, field) {
var element = $(`input[name="${field.name}"]`).removeClass('is-invalid').parent();
element.find('label.error-field').remove();
})
if (window.FormData !== undefined) {
var formData = new FormData(formObj[0]);
$.ajax({
url: formUrl,
type: 'POST',
data: formData,
dataType: 'JSON',
mimeType: 'multipart/form-data',
contentType: false,
cache: false,
processData: false,
beforeSend: function (xhr, opts) {
// progress bar show
},
success: function (data, textStatus, jqXHR) {
//// progress bar hide
alert('Record added successfully');
window.location.href = base_url + data.data;
//console.log('DATA :: ', data);
},
error: function (data, textStatus, jqXHR) {
//// progress bar hide
if (data.responseJSON.errors) {
$.each(data.responseJSON.errors, function (key, value) {
var element = $('[name=' + key + ']', formObj);
element.addClass('is-invalid').after(`<label for=${key} class="error-field">${value[0]}</label>`);
});
}
},
});
}
});
})(jQuery)