代码之家  ›  专栏  ›  技术社区  ›  Sunny Kumar

Laravel-检查已命名错误包的名称

  •  3
  • Sunny Kumar  · 技术社区  · 6 年前

    我的注册表单和登录表在同一页,但在不同的选项卡中。默认情况下,活动选项卡为登录。在注册时,如果有任何错误,将返回错误消息,我可以使用命名的错误包在正确的位置打印错误消息。

    问题是,当错误来自注册表时,应该注册活动选项卡。为此,我需要检查Laravel验证的名称。

    我该怎么做?是吗?

    验证代码为:

    if ($validator->fails()) {
        return back()
        ->withErrors($validator, 'register')
        ->withInput();
    }
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Jonathon    6 年前

    ->hasBag() 方法 $errors

    <div class="tab registration{!! $errors->hasBag('register') ? ' active' : '' !!}">
    
    </div>
    

    hasBag('register') true

        2
  •  0
  •   Saurabh Mistry    6 年前

    如果/auth是页面的路由,则

    /auth#login

    /auth#register =>这将显示“寄存器”选项卡

       <ul class="nav nav-tabs tab-nav-right" role="tablist">
             <li role="presentation" class="active"><a href="#login" data-toggle="tab"></a></li>
             <li role="presentation"><a href="#register" data-toggle="tab"></a</li>
      </ul>
    
        <!-- Tab panes -->
            <div class="tab-content">
              <div role="tabpanel" class="tab-pane fade in active" id="login">
                    <b>Login Form</b>
    
    
                   @if (Request::path()=='auth#login' && count($errors) > 0)
                       @foreach ($errors->all() as $error)
                           <p class="alert alert-danger alert-dismissible fade show" role="alert">{{ $error }}
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                             <span aria-hidden="true">&times;</span>
                            </button>
                            </p>
                       @endforeach
                    @endif
    
              </div>
              <div role="tabpanel" class="tab-pane fade" id="register">
                    <b>Register Form</b>
    
                    @if (Request::path()=='auth#register' && count($errors) > 0)
                       @foreach ($errors->all() as $error)
                           <p class="alert alert-danger alert-dismissible fade show" role="alert">{{ $error }}
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                             <span aria-hidden="true">&times;</span>
                            </button>
                            </p>
                       @endforeach
                    @endif
              </div>
    

    if ($validator->fails()) {
            return  redirect('/auth#login')
                        ->withErrors($validator, 'login')
                        ->withInput();
        }
    

    在控制器的“注册”选项卡错误中:

    if ($validator->fails()) {
            return  redirect('/auth#register')
                        ->withErrors($validator, 'register')
                        ->withInput();
        }