在我的控制器中,我验证输入字段,如果任何验证失败,我想返回到表单并重新填写用户输入的先前值(如果还有其他更简便的方法,请告诉我)。但是,这就是我正在做的事情:
Controller.php:
public function store(Request $request, AnexoController $anexoController)
{
$validator = Validator::make(
$request->all(),
$rules,
$messages
);
if($validator->fails())
{
return Redirect::to($request->headers->get('referer'))
->withErrors($validator)
->withReq($request->all());
}
// continues the function...
}
在view.blade.php:
<input type="text"
maxlength="256"
id="text-input"
name="id"
placeholder="Código"
class="form-control"
@if(isset($req)) value="{{$req->id}}"
@else value="$REQ VARIABLE NOT SET"
@endif
required>
当我对其进行测试时,字段id
的值设置为“ $ REQ VARIABLE NOT SET”,但是设置了$errors
变量中的$validator
。那么,为什么没有在这种情况下设置变量$req
?预先感谢。
答案 0 :(得分:1)
使用此
append
它将自动返回所有错误和输入的表单页面
在表单中,您将不必在旧输入的输入值中添加帮助器
$request->validate([
//rules
]);
请参见https://laravel.com/docs/5.8/validation和https://laravel.com/docs/5.8/helpers