Не получено точное сообщение об ошибке проверки Laravel через AJAX - PullRequest
0 голосов
/ 23 октября 2018

Сообщение, которое я получаю в laravel:

{message: "The given data was invalid.", errors: {oData: 
["validation.required"]}}
errors: {oData: ["validation.required"]}
message: "The given data was invalid."

не само сообщение, а сообщение validation.required.когда я добавляю его в мой HTML, он отображает «validation.required», а не сообщение об ошибке, которое предоставляет laravel.

$.ajax({    
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        url: oParams['sUrl'],
        type: oParams['sType'],
        data: oParams['oData'],
        contentType: oParams['mContentType'],    
        processData: oParams['mProcessData'],
        success: function(aData)
        {
            console.log(aData);
        },
        error: function(request, status, error)
        {
            json = $.parseJSON(request.responseText);
            $.each(json.errors, function(key, value){
                $('.alert-danger').show();
                $('.alert-danger').append('<p>'+value+'</p>');
            });
            $("#result").html('')
        }          
    });

    //Controller
    public function addUser(Request $oRequest)
    {
    $aValidated = $oRequest->validate([
        'oData' => 'required',
    ]);
    return $aValidated;
    }

1 Ответ

0 голосов
/ 23 октября 2018

Проблема в том, что вы работаете над объектом errors, который действительно имеет единственный ключ с массивом, содержащим строку validation.required.Вместо этого вы должны сделать что-то вроде этого:

json = $.parseJSON(request.responseText);
        $.each(json, function(element){
            $('.alert-danger').show();
            $('.alert-danger').append('<p>'+ element.message +'</p>');
        });
        $("#result").html('')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...