我有一个表单,我希望用它来向mysql插入一些数据。我已经设置了像这样的验证器
public function insert_post(){
$rules = array(
'model' => 'required',
'country' => 'required',
'engine' => 'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
// get the error messages from the validator
$messages = $validator->messages();
echo '<pre>';
print_r($messages);
echo '</pre>';
return Redirect::to('create-posts')
->withErrors($validator);
}
else {
$i = new Text;
$i->model = request('model');
$i->country = request('country');
$i->engine = request('engine');
$i->save();
return redirect('/');
}
}
我的create-posts
路线看起来像这样。
public function create_post(){
return view('create-posts');
}
然而,它没有显示错误,因为我认为我正在加载新的create-posts
并且验证程序消息丢失。
查看代码
<div class="form-group">
<label for="inputEmail" class="control-label col-xs-2">Model</label>
<div class="col-xs-10">
<input type="text" class="form-control" id="inputEmail" name="model" placeholder="Model">
@if ($errors->has('model')) <p class="help-block">{{ $errors->first('model') }}</p> @endif
</div>
</div>
这是什么原因?。
答案 0 :(得分:2)
如果您想要返回上一个视图,可以使用:
return Redirect::back()->withErrors($validator);
而不是return Redirect::to('create-posts')->withErrors($validator);
。