inik23
@inik23
типа разработчик

Как получить сообщения об ошибке и данные с поста после редиректа?

Всем добра. Подскажите как получить сообщения об ошибке в представлении после редиректа
Вот пример
public function registrationTokenSave( Request $request , $token ){
        $oEntryUser = $this->checkToken( $token );

        $validator = Validator::make( $request->all() , $this->rules );

        if ( $validator->fails() ){
            return redirect()->back()
                ->withInput()
                ->withErrors($validator->errors());
        }
        return view('test');
    }


как мне вывести эти ошибки
->withInput()
->withErrors($validator->errors());

и к тому же хелпер old() отдает всегда нул
Подскажите в чем проблема.
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel
В начале файла пишем:
use Session;
А сообщение можно выводить так:
public function registrationTokenSave( Request $request , $token ){
    $oEntryUser = $this->checkToken( $token );

    $validator = Validator::make( $request->all() , $this->rules );

    if ( $validator->fails() ){
        Session::flash('errors', $validator->errors()); // Разовый показ сообщения.
        return redirect()->back()
            ->withInput()
            ->withErrors($validator->errors());
    }
    return view('test');
}

А в файле шаблона использовать, например, вот такой код:
@if (session('errors'))
    @foreach(session('errors') as $err)
        <div class="alert alert-danger alert-dismissible fade in" role="alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <span aria-hidden="true">×</span>
            </button>
            <strong>{{ $err }}</strong>
        </div>
    @endforeach
@endif

Но в Вашем примере должны выводиться ошибки в шаблоне. Выводятся они таким способом:
@if (count($errors) > 0)
    @foreach($errors->all() as $error)
        <div class="alert alert-danger alert-dismissible fade in" role="alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <span aria-hidden="true">×</span>
            </button>
            <strong>{{ $error }}</strong>
        </div>
    @endforeach
@endif

Получение ошибок - $errors->all()
Ответ написан
Комментировать
@Result007
P|-|P
Привет! Надеюсь вопрос еще актуален.

Я использую базовую конструкцию вывода ошибок:

<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
    <label class="col-md-4 control-label">Имя:</label>
    <div class="col-md-6">
        <input type="text" class="form-control" name="name" value="{{ old('name') }}">

        @if ($errors->has('name'))
            <span class="help-block">
                <strong>{{ $errors->first('name') }}</strong>
            </span>
        @endif
     </div>
</div>


Если ты пользуешься конструктором форм, то инпут следует писать без использования old() :
{!! Form::text('name', null, array('class' => 'form-control input-sm')) !!}
Ответ написан
Комментировать
MiragePresent
@MiragePresent
программист php
Я делаю так:
{{ Request::old('email')}} - значение
{{ ($errors->has('email') ?  $errors->first('email') : '') }}
- ошибка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы