使用ajax将自定义消息发送到bootstrap div

时间:2017-10-04 08:56:42

标签: php ajax laravel twitter-bootstrap-3

我想使用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>'); 

我想要的错误信息就像那样:

enter image description here

1 个答案:

答案 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的内部错误选项,你可以把简单的文字说,发生了一些服务器端错误。

希望这会有所帮助:)。如果您有任何问题,请告诉我