如何在 laravel 5.1 中身份验证失败后阻止引导模式关闭


How to stop bootstrap modal from closing after authentication fail in laravel 5.1?

我有一个用于登录的引导模式,但是当它失败时,它会重定向到身份验证/登录并且模式关闭。那么,当身份验证失败时,我将如何阻止模式关闭,以及如何阻止它重定向回身份验证/登录?

我的登录表单:

<form action="{{ URL::to('auth/login')}}" method="POST">
{!! csrf_field() !!}
<div class="left-form__form">
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
        <input class="mdl-textfield__input" type="text" id="mdl_email" name="email">
        <label class="mdl-textfield__label" for="mdl_email">Email ID</label>
    </div>
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
        <input class="mdl-textfield__input" type="password" id="mdl_password" name="password">
        <label class="mdl-textfield__label" for="mdl_password">Password</label>
    </div>
    <div class="left-form__form--bottom">
        <button type="submit" class="btn-style1 mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--accent">
            login
        </button>
        <a href="javascript:void(0);" class="fgt-pwd">forgot password?</a>
    </div>
    <a href="#" class="register-link">New to srsgrocery? <span>SIGNUP</span></a>
</div>
</form>

模态 :

@if(Auth::guest())
    <div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 top-right">
        <span class="call-icon"></span>
        <span class="call-text">Call to Order: 1800-419-2777</span>
        <a href="" title="" class="login" data-toggle="modal" data-target="#loginRegisterModal">Login |</a>
        <a href="" title="" class="register" data-toggle="modal" data-target="#loginRegisterModal">Register</a>
    </div>
    @else
    <div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 top-right">
        <span class="call-icon"></span>
        <span class="call-text">Call to Order: 1800-419-2777</span>
        <a href="{{URL::to('myaccount')}}">My Account </a>                        
        <a href="{{URL::to('auth/logout')}}">Logout</a>
    </div>
@endif

试试这个:登录模式:

<div id="loginRegisterModal" class="modal fade" tabindex="-1" role="dialog">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Login : </h4>
      </div>
                    <div class="modal-body">
                    <!-- Login Form inside modal -->
                    ...               
                    <div class="modal-footer">
                         <button type="cancel" class="btn btn-danger" data-dismiss="modal">Close</button>                                                                           
                    </div>
                </div>                                                                                                             
            </div>            
        </div>
    </div>

在您的身份验证控制器中:

  ...
  public function postLogin(Request $request)
  {
    $data = $request->all();
    $v = Validator::make($data, $this->rules);           
    if ($v->fails())
    {                        
        return Response::json(array(
          'success' => false,
          'errors' => $v->errors(),
          'status' => 422              
        ));
    }
    if (Auth::attempt($credentials, $request->has('remember')))
        {
            return redirect()->intended($this->redirectPath())
            ->with('success', 'You are successfully logged in');
        }
    return Response::json(array(
          'password' => 'password invalid',
          'email' => 'email invalid'                          
        ));             
  }
protected $rules = array(
    'email' => 'required',
    'password' => 'required|min:6',      
);

希望它能帮助你:)