Laravel登录错误消息未通过引导模式中的ajax显示

当我输入错误的凭据时,不会显示错误消息。 我创建了自己的登录身份验证路线。


// Auth::routes(); //Commented this out


// Authentication Start


Route::get('/login', 'Auth\LoginController@showLoginForm')->name('auth.login.get');

Route::post('submit-login', 'Auth\LoginController@login')->name('auth.login.post');


Route::post('/logout', 'Auth\LoginController@logout')->name('logout');


Route::get('/register', 'Auth\RegisterController@showRegistrationForm')->name('auth.register.get');

Route::post('submit-register', 'Auth\RegisterController@register')->name('auth.register.post');


// Authentication End

这是 ajax 部分


window.getLoginPage = function(){

  $.ajax({

    type:'GET',

    url:'/login',

    success:function(response) {

      $('.dynamicAuthContent').html('');

      $('.dynamicAuthContent').append(response);

      $('#myModal').modal('show');

      $('.modalBtns').removeClass('activeAuth');

      $('.signInModal').addClass('activeAuth');

    }

  });

}

这是模态体


<div class="modal-body">

     <div class="dynamicAuthContent"></div>

</div>

这是login.blade.php


<form method="POST" action="{{ route('auth.login.post') }}">

    @csrf


    <div class="form-group row">

        <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>


        <div class="col-md-6">

            <input id="email" type="email" class="bColor form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}"  autocomplete="email" autofocus>


            @error('email')

                <span class="invalid-feedback" role="alert">

                    <strong>{{ $message }}</strong>

                </span>

            @enderror

        </div>

    </div>


一切正常,但是当我输入错误的凭据时,我的错误没有显示。 但是当我直接访问该页面而不是通过 ajax 时,错误消息是可见的。 我认为我的错误消息来了,但模式正在关闭。我怎样才能避免这种情况?


慕桂英4014372
浏览 431回答 1
1回答

慕尼黑的夜晚无繁华

您不能将刀片错误包与 ajax 一起使用,因为它们只会在设置错误变量时呈现,因此在 ajax 的情况下,您必须调用错误函数,就像在 ajax 中调用成功函数一样,在侧错误函数中,您可以添加新的 DOM 元素来显示错误, 来。
打开App,查看更多内容
随时随地看视频慕课网APP