我想使用ajax将错误发送到我的错误消息div id。如何正确地将它添加到ajax函数中的 $('#error-message'),它将在Laravel的if语句中被识别?
刀片:
<div class="flash-message" id="error-message">
@if ($errors->any())
@endif
</div>
没有使用ajax代码:
error: function(response) {
var error = response.responseJSON.message;
$('#error-message').html().show('<div class="flash-message">@if ($errors->any())<ul class="alert alert-danger">@foreach($errors->all() as $error)<li>'+ error +'</li>@endforeach</ul>@endif</div>');
我想要的错误信息就像那样:
答案 0 :(得分:1)
做那样的事。
在控制器的功能
中$response = ['success' => true];
// Define your $rules according with validation rules and $messages accordingly
$validator = validator(request()->all(), $rules, $messages = []);
if($validator->fails()){
return response()->json(['success' => false, 'errors' => $validator->messages()->all()])
}
// your rest code for this function, which you want to do after checking validation error.
在你的javascript ajax代码中
success: function(response) {
if(!response.success){
var error = response.errors;
var errorRow = '';
if(response.errors.length){
$.each(response.errors, function(key, value){
errorRow += '<li>'+ value +'</li>';
});
$('#error-message').html().show('<div class="flash-message"><ul class="alert alert-danger">'+errorRow+'</ul></div>');
}
}
ajax的内部错误选项,你可以把简单的文字说,发生了一些服务器端错误。
希望这会有所帮助:)。如果您有任何问题,请告诉我