【发布时间】:2021-09-01 22:50:14
【问题描述】:
如果字段为空,我正在尝试在表单中输出“缺失字段”文本框,这是我的上下文代码:
控制器/功能
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'category_name'=>'required|max:191',
'category_description'=>'required|max:191',
]);
if($validator->fails())
{
return response()->json([
'status'=>400,
'erros'=>$validator->messages(),
]);
}
else {
$category = new HmsBbrCategory;
$category->category_name = $request->input('category_name');
$category->category_description = $request->input('category_description');
$category->save();
return response()->json([
'status'=>200,
'message'=>'Category Added!',
]);
}
}
AJAX
<script>
$(document).ready(function (){
$(document).on('click', '.add_category', function(e){
e.preventDefault();
var category_data = {
'category_name': $('.category_name').val(),
'category_description': $('.category_description').val(),
}
//token taken from laravel documentation
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// console.log(category_data);
$.ajax({
type: "POST",
url: "/clinical/bbr-category-configuration",
data: "category_data",
dataType: "json",
success: function (response){
if(response.status == 400)
{
$('#saveform_errList').html("");
$('#saveform_errList').addClass('alert alert-danger');
$.each(response.errors, function (key, err_values) {
$('#saveform_errList').append('<li>'+err_values+'</li>');
});
}
}
});
});
});
</script>
我还通过将它添加到我的模式来输出错误 ID:
<ul id="saveform_errList"></ul>
如果错误 400 有效,我在控制台中对其进行了测试,并且它会显示缺少哪些字段,这只需在我的 ajax 中添加 console.log(response); 即可完成
所以我尝试在模态本身中显示同样的错误,所以在if(response.status==400)
如上图,我添加了以下内容:
if(response.status == 400)
{
$('#saveform_errList').html("");
$('#saveform_errList').addClass('alert alert-danger');
$.each(response.errors, function (key, err_values) {
$('#saveform_errList').append('<li>'+err_values+'</li>');
});
}
我只得到了警报危险的用户界面:
我错过了什么?
【问题讨论】:
-
response.errors应该是response.erros -
或者……反过来,@Swati?将控制器中 JSON 中的
erros错字更改为errors。 -
response.erros?没有 r?
-
哦,它在我的控制器里............谢谢
标签: ajax laravel function error-handling bootstrap-modal