社会病質者 :
私はウィッヒタブ内のコントロールという変数を作成したので、私は2つのタブ上の2つの形式があり、私は2番目のタブを選択し、自分のフォームを送信しているとき、私の問題があり、それは多少の誤差がある場合、それは戻って私をリダイレクトしますが、タブ1の代わりに、2つのオン負荷に表示する必要があります。
ブレードのファイル:
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade {{ $tabName == 'yes' ? 'show active' : '' }}" id="pills-yes" role="tabpanel" aria-labelledby="pills-yes-tab">
@include('secciones.formulario-contacto-reserva')
</div>
<div class="tab-pane fade {{ $tabName == 'no' ? 'show active' : '' }}" id="pills-no" role="tabpanel" aria-labelledby="pills-no-tab">
@include('secciones.formulario-contacto-sin-reserva')
</div>
</div>
私は検証がカスタム要求に失敗したときに私の見解にパラメータを送信しようとしています:
ContactWithoutBookingRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Validation\ValidationException;
use Illuminate\Foundation\Http\FormRequest;
class ContactWithoutBookingRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'inputNameSurname' => 'required|max:255',
'inputEmail' => 'required|email|max:255',
'selectMessage' => 'required|numeric|max:2',
'inputComment' => 'required|max:3000|min:5',
'privacityCheck' => 'required|boolean',
'g-recaptcha-response' => 'required|captcha'
];
}
}
いいえ成功し、failedValidationとgetRedirectUrl ...:私は、オーバーライドメソッドにしようとしています
protected function getRedirectUrl()
{
return redirect()->back()->with(['tabName' => 'no']);
}
protected function failedValidation(Validator $validator)
{
throw (new ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo(route('contacto'), ['tabName' => 'no']);
}
私はこれをどのように達成することができますか?感謝
Remul:
あなたにはセッションにフラッシュすることができfailedValidation
方法:
protected function failedValidation(Validator $validator)
{
$this->session->flash('tabName', 'no');
throw (new ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo($this->getRedirectUrl());
}
そして、あなたのビューでセッションから取得:
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade {{ Session::get('tabName') == 'yes' ? 'show active' : '' }}" id="pills-yes" role="tabpanel" aria-labelledby="pills-yes-tab">
@include('secciones.formulario-contacto-reserva')
</div>
<div class="tab-pane fade {{ Session::get('tabName') == 'no' ? 'show active' : '' }}" id="pills-no" role="tabpanel" aria-labelledby="pills-no-tab">
@include('secciones.formulario-contacto-sin-reserva')
</div>
</div>