Получить массив в ajax из запроса и отобразить в laravel - PullRequest
0 голосов
/ 27 мая 2020

Я проверяю поля с помощью 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)

1 Ответ

0 голосов
/ 27 мая 2020

Вы должны сделать console.log(data.responseJSON.errors), чтобы точно увидеть, какие ошибки возвращаются, но обычно при попытке доступа к элементу. * Ошибки проверки, вам необходимо получить доступ к нему на передней панели через items.1, items.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...