【问题标题】:Display validation error in tabs using laravel使用 laravel 在选项卡中显示验证错误
【发布时间】:2016-11-01 15:46:16
【问题描述】:

在我看来,我有 3 个选项卡,其中显示了不同类型的数据。在我的第三个选项卡中,我发布了一些我使用 laravel 验证的数据。我的问题是验证错误显示在我的第一个选项卡中。我应该怎么做才能在第三个选项卡中显示错误。

我的控制器

$validator = Validator::make($request->all(), Rules::Event($request));
        if ($validator->fails()) {
           return back()->withErrors($validator)->withInput();
        }

查看页面

<ul class="nav nav-tabs">
          <li class="active"><a data-toggle="tab" href="#home">Upcoming Events</a></li>
          <li><a data-toggle="tab" href="#menu1">Popular Events</a></li>
          <li ><a data-toggle="tab" href="#menu2">Post an Event and sell ticket</a></li>
        </ul>

<div class="tab-content">

 <div id="home" class="tab-pane fade in active">
................
</div>

 <div id="menu1" class="tab-pane fade">
..............
</div>

 <div id="menu2" class="tab-pane fade">

<div class="event_tab_holder"> 


                @if (count($errors) > 0)
                    <div class="col-lg-12">
                        <div class="alert alert-danger">
                            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
                            <h5><strong>{{ t('Oops ! An error has occurred. Please correct the red fields in the form') }}</strong></h5>
                            <ul class="list list-check">
                                @foreach ($errors->all() as $error)
                                    <li>{{ $error }}</li>
                                @endforeach
                            </ul>
                        </div>
                    </div>
                @endif
          </div>
    </div>
</div>

如何实现?请帮帮我,等待回复......

【问题讨论】:

    标签: php tabs laravel-5.2 laravel-validation


    【解决方案1】:

    你可以试试这个:

    error 类添加到li

    <li class='error'>{{ $error }}</li>
    

    然后使用这个脚本:

       if ($(".tab-content").find('.error').text()) {
        $.each($(".tab-content").find('.error'), function (index, value) {
            if ($(this).text()) {
                $(".tab-content").children('.tab-pane').removeClass('active');
                $(this).closest('.tab-pane').addClass('active');
                $(".nav-tabs").children('li').removeClass('active');
                var id = $(this).closest('.tab-pane').attr('id');
                $.each($(".nav-tabs").children('li'), function (i, a) {
                    if (('#' + id) == $(this).children('a').attr('href'))
                        $(this).addClass('active');
                });
                return false;
            }
        });
    }
    

    【讨论】:

    • 我已将此代码用于同一问题,并且运行良好。为李做一件事&lt;li class='error'&gt;{{ $error }}&lt;/li&gt;
    • 当我实现此代码时,错误会显示在
    • 中。我希望将错误显示在放置内容的 div 中。以及要激活的
    • 类。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签