如何在 Laravel 中显示 JQuery post() 函数的每个错误?
How to display each error from JQuery post() function in Laravel?
我现在卡住了。我一直在尝试类似帖子中的所有答案,但我无法让它发挥作用。
我得到了这个表格,用户可以在其中更新 his/her 信息。当停止输入或关注输入文本框时,我向控制器发送请求以将信息更新到数据库中。当发送给它时,控制器会验证该信息,如果发现错误,它会 returns 使用以下代码找到的错误列表:
if($validator->fails()){
//return $validator->messages()->toJson(); This DOES NOT WORK :/
$messages = $validator->Messages()->all();
return Response::json($messages);// THIS DOES WORK!!! :)
}
当出现一个错误时,我得到的 json 类型如下:
{"nombre_pila":["The field nombre pila is required."]}
如果发现两个错误:
{"nombre_pila":["The nombre pila must be at least 3 characters.","The nombre pila may only contain letters."]}
在脚本方面,我尝试使用以下代码来解决这些错误:
$.post(url, editform, function(data,status){
$('#formedit2 input').removeClass('loadinggif');
if(data=='success'){
//alert('Dato '+currentId+' actualizado exitosamente! Status: ' + status);
$('#formedit2 input').removeClass('loadinggif');
$('#'+currentId).closest('.form-group').addClass('has-success').addClass('has-feedback');
}else{
$('#formedit2 input').removeClass('loadinggif');
$('#'+currentId).closest('.form-group').addClass('has-error');
alert('Unknown process. Status: '+status+'. Data: '+data);
$.each(data,function(i,error){
console.log(error);
});
}
});
我收到以下错误:
TypeError: invalid 'in' operand a
我不知道如何显示每个发现的错误。我错过了什么?
因为您的错误数组在对象键 nombre_pila
内,所以不是:
$.each(data,function(i,error){
console.log(error);
});
做:
$.each(data.nombre_pila,function(i,error){
console.log(error);
});
我现在卡住了。我一直在尝试类似帖子中的所有答案,但我无法让它发挥作用。 我得到了这个表格,用户可以在其中更新 his/her 信息。当停止输入或关注输入文本框时,我向控制器发送请求以将信息更新到数据库中。当发送给它时,控制器会验证该信息,如果发现错误,它会 returns 使用以下代码找到的错误列表:
if($validator->fails()){
//return $validator->messages()->toJson(); This DOES NOT WORK :/
$messages = $validator->Messages()->all();
return Response::json($messages);// THIS DOES WORK!!! :)
}
当出现一个错误时,我得到的 json 类型如下:
{"nombre_pila":["The field nombre pila is required."]}
如果发现两个错误:
{"nombre_pila":["The nombre pila must be at least 3 characters.","The nombre pila may only contain letters."]}
在脚本方面,我尝试使用以下代码来解决这些错误:
$.post(url, editform, function(data,status){
$('#formedit2 input').removeClass('loadinggif');
if(data=='success'){
//alert('Dato '+currentId+' actualizado exitosamente! Status: ' + status);
$('#formedit2 input').removeClass('loadinggif');
$('#'+currentId).closest('.form-group').addClass('has-success').addClass('has-feedback');
}else{
$('#formedit2 input').removeClass('loadinggif');
$('#'+currentId).closest('.form-group').addClass('has-error');
alert('Unknown process. Status: '+status+'. Data: '+data);
$.each(data,function(i,error){
console.log(error);
});
}
});
我收到以下错误:
TypeError: invalid 'in' operand a
我不知道如何显示每个发现的错误。我错过了什么?
因为您的错误数组在对象键 nombre_pila
内,所以不是:
$.each(data,function(i,error){
console.log(error);
});
做:
$.each(data.nombre_pila,function(i,error){
console.log(error);
});