我现在很困惑,我正在从Laracast学习Laravel,根据讲师的说法,在验证失败后,表单不会重置用户输入的值.但是在测试验证时,当我提交表单重置每一件事.
另一个问题是当我尝试访问它时未定义的变量 $errors
.
我的控制器
validate($request, [ 'title' => 'required', 'body' => 'required' ]); Articles::create($request->all()); return redirect('articles'); } }
我的看法
@extends('app') @section('content')Create a new Articles
{!! Form::open(['url' => 'articles']) !!}{!! Form::label('title', 'Title: ') !!} {!! Form::text('title', null, ['class' => 'form-control']) !!}{!! Form::label('body', 'Body') !!} {!! Form::textarea('body', null, ['class' => 'form-control']) !!}{!! Form::label('published_at', 'Published On:') !!} {!! Form::input('text', 'published_at', date('Y-m-d'), ['class' => 'form-control']) !!}{!! Form::submit('submit', ['class' => 'btn btn-primary']) !!}@if(isset($errors)) {{var_dump($errors)}} @endif {!! Form::close() !!} @stop
他使用v5.0而我正在使用v5.2
从您的控制器返回以下内容...
return redirect('articles')->withInput();
看看是否有帮助.如果你想这样,你可以排除某些字段..
return redirect('articles')->withInput($request->only('email'))