【发布时间】:2018-09-13 04:18:17
【问题描述】:
表单验证错误的响应未定义
控制器方法处理请求并使用 json 响应将验证错误存储或发送回客户端
public function store(Request $request)
{
$validator = $this->validate(request(), [
'title' => 'required',
'body' => 'required'
]);
if($validator->fails()) {
return response()->json(['success' => false, 'error' => $validator->errors()->toArray()]);
} else {
$report = new Report;
$report->name = 'username';
$report->phone = '012345679';
$report->title = $request->title;
$report->body = $request->body;
$result = $report->save();
return response()->json(['success' => true, 'message' => 'your report has been sent successfuly']);
}
}
如果点击了按钮但没有选中单选按钮或正文未填充消息正文,laravel 验证错误必须显示给用户,但它给了我未定义的消息
jQuery(document).on('ready', function() {
$('#sendrepo').click(function (e) {
e.preventDefault();
var selected = $('input[type="radio"]:checked');
var title = selected.val();
var body = $('textarea#repobdy').val();
var url = 'api/report';
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: url,
data: { title: title, body: body },
success: function(data){
$('#repo-fel').remove();
$('.tg-formtheme h3').remove();
$('.repo-message').append('<div class="alert alert-danger"><strong>'+ data.message +'</strong></div>');
},
error: function( data){
$('.repo-message').append('<ul><li>'+ data.errors +'</li></ul>');
}
});
});
【问题讨论】: