1
我正在使用Laravel 5.3。我有一個表單,當驗證失敗時,它沒有填充舊輸入的字段。該形式如下:(Laravel)表單驗證不會返回舊輸入
{{ Form::open(['route' => 'my.route', 'class' => 'form-horizontal', 'files' => true]) }}
<div class="form-group">
{{ Form::label('name', 'Name', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::text('name', null, ['placeholder' => 'hello world' ,'class' => 'form-control']) }}
</div>
</div>
<div class="form-group">
{{ Form::label('description', 'Description', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::textarea('description', null, ['placeholder' => 'hello world', 'class' => 'form-control']) }}
<span>some sub-text</span>
</div>
</div>
<div class="form-group">
{{ Form::label('date', 'Date', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::text('date', null, ['placeholder' => 'hello world', 'class' => 'form-control']) }}
</div>
</div>
{{ Form::close() }}
我處理這樣的信息:
public function store(ItemRequest $request, ImageMagick $imageMagick)
{
$item = new Item;
$item->name = $request->name;
$item->description = $request->description;
$item->date = $request->date;
$item->save();
return redirect()->route('some.other.route');
}
我做我的驗證在我自己的形式請求文件「ItemRequest」它看起來像這樣:
class ItemRequest extends FormRequest
{
public static $rules = [
'name' => 'required|min:5|max:255',
'description' => 'required|min:50',
'date' => 'required'
];
/**
* 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()
{
if ($this->isMethod('post')) {
return $this->createRules();
}
return $this->updateRules();
}
public function createRules()
{
return self::$rules;
}
public function updateRules()
{
return array_merge(
self::$rules,
$this->otherRules()
);
}
public function otherRules()
{
return ['age' => "required"];
}
}
我覺得問題在於ItemRequest。我已經嘗試添加 - > withInput()到我的商店方法返回,但舊的輸入仍然沒有被保留。
return redirect()->route('some.other.route')->withInput();
但它沒有做出改變。
編輯:我刷新頁面時清除舊的輸入。
這還不行。我嘗試拋棄舊的價值,它是空的。 – DanielPahor