2017-01-20 6 views
2

Я сделал это АЯКС вызов:Ajax предупреждение об ошибке проверки

$.ajax({ 
    type: myMethod, 
    url: myRoute, 
    headers: { 'X-CSRF-TOKEN': "{{csrf_token()}}" }, 
    data: form.serializeArray(), 
    dataType: 'json', 
    success: function(data){ 
     console.log('validated!'); 
    }, 
    error: function(data) { 
     var errors = data.responseJSON; 
     for (error in errors) { 
      alert(error); 
     } 
     console.log(errors); 
    } 
}); 

я получаю этот ответ в консоли:

enter image description here

И мои оповещения эти имена полей:

event_end_date 
event_start_date 

И я хочу напечатать эти сообщения:

Endzeitpunkt muss ausgefüllt sein. 
Startzeitpunkt muss ausgefüllt sein. 

Как их предупредить?

ответ

2

Вы могли бы просто использовать ключ error с индексом и [0], чтобы получить первый пункт:

alert(errors[error][0]); 

Надеется, что это помогает.

+1

Обратите внимание: это массив по определенной причине. Ответ ошибки по умолчанию Laravel может иметь более одной ошибки для элемента формы. Поэтому, хотя он может работать, вы можете пропускать сообщения об ошибках, просто показывая только первый элемент в массиве. – Boyd

+1

хорошо скажем, что вы получаете более одной ошибки для одного элемента .... если вы попытаетесь отправить форму, вы не увидите других ошибок ... но вы исправите тот, который вы видели ... и если вы попытаетесь отправить форму снова, появятся другие ошибки, поэтому вам придется исправлять их снова и снова, пока вы не заполните форму должным образом. И дело в том, что вы не можете отправить форму, если не заполните ее правильно! – lewis4u

Смежные вопросы