Обработка Laravel 5.x и Bootstrap 4.3 с вкладками и формой - PullRequest
1 голос
/ 08 июня 2019

У меня есть две вкладки.Статус и мультимедиа.Пользователи могут делиться статусом или мультимедиа.Я пытаюсь использовать только одну форму.Как я могу справиться с вкладками и проверками?Какова логика этого?Спасибо, ребята.

https://ibb.co/DtpPfnN "Снимок экрана"

Я использую Laravel 5.8 и Bootstrap 4.3 (эта форма только что и я пытаюсь.)

<form method="POST" action="{{ route('test') }}">
    @csrf
        <div class="tab-content" id="nav-tabContent">
            <div class="tab-pane fade show active" id="nav-status" role="tabpanel" aria-labelledby="nav-status-tab">
                 <div class="form-group">
                     <textarea class="form-control" id="status" rows="3" name="content1"></textarea>
                 </div>
             </div>

            <div class="tab-pane fade" id="nav-multimedia" role="tabpanel" aria-labelledby="nav-multimedia-tab">
                <div class="form-group">
                    <textarea class="form-control" id="multimedia" rows="3" name="content2"></textarea>
                </div>
             </div>

             <button class="btn btn-outline-success" type="submit">Send</button>
     </div>
</form>

1 Ответ

1 голос
/ 09 июля 2019

Я сделал это на основе ошибки валидации, пожалуйста, попробуйте и дайте мне знать, если это работает

Маршрут> web.php

Route::get('testForm',function(){
        return view('testForm');
})->name('showTestForm');

Route::post('testForm',function(Request $request){
    $validator = \Illuminate\Support\Facades\Validator::make($request->all(),[
        'name'      => 'required', // Form One Field
        'email'     => 'required', // Form Two Field
    ]);
    if($validator->fails()){
        return redirect()->back()->withErrors($validator->getMessageBag())->withInput();
    }
    return redirect()->back()->with([
        'message'   => 'Form Submitted'
    ]);
})->name('submitTestForm');

Файл Blade: testForm.blade.php

<div class="container-fluid">
        <div class="row">
            <div class="col-md-12">
                @if(Session::has('message'))
                    <div class="alert">
                        <div class="alert alert-success">
                            <strong>{{ Session::get('message') }}</strong>
                        </div>
                    </div>
                @endif
                @if ($errors->any())
                    {{ implode('', $errors->all('<div>:message</div>')) }}
                @endif
                {!! Form::open([
                    'route' => 'submitTestForm'
                ]) !!}
                    <ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
                        <li class="nav-item @if($errors->has('name') === true && $errors->has('email') === false || $errors->has('name') === true && $errors->has('email') === true) active @endif">
                            <a class="nav-link  @if($errors->has('name') === true && $errors->has('email') === false || $errors->has('name') === true && $errors->has('email') === true || $errors->has('name') === false && $errors->has('email') === false) active @endif" id="pills-formOne-tab" data-toggle="pill" href="#pills-formOne" role="tab" aria-controls="pills-home" aria-selected="true">Form One</a>
                        </li>
                        <li class="nav-item  @if($errors->has('name') === false && $errors->has('email') === true) active @endif">
                            <a class="nav-link @if($errors->has('name') === false && $errors->has('email') === true) active @else disabled @endif" id="pills-formTwo-tab" data-toggle="pill" href="#pills-formTwo" role="tab" aria-controls="pills-profile" aria-selected="false">Form Two</a>
                        </li>
                    </ul>
                    <div class="tab-content" id="pills-tabContent">
                        <div class="tab-pane fade @if($errors->has('name') === true && $errors->has('email') === false || $errors->has('name') === true && $errors->has('email') === true) show active in @elseif($errors->has('name') === false && $errors->has('email') === false) show in active @endif" id="pills-formOne" role="tabpanel" aria-labelledby="pills-formOne-tab">
                           <div class="form-group">
                               <input type="text" name="name" value="{{ old('name') }}" placeholder="Enter Name">
                           </div>
                        </div>

                        <div class="tab-pane fade @if($errors->has('name') === false && $errors->has('email') === true) show active in @endif" id="pills-formTwo" role="tabpanel" aria-labelledby="pills-formTwo-tab">
                            <div class="form-group">
                                <input type="email" name="email" value="{{ old('email') }}" placeholder="Enter Email">
                            </div>
                        </div>
                    </div>
                    <hr>
                    <div class="form-control">
                        <button class="btn btn-sm btn-success">Submit</button>
                    </div>
                {!! Form::close() !!}
            </div>
        </div>
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...