[英]How to pass input value to Request validation class in Laravel 5.2?
I have one controller and one Form Request Validation class: app\\Http\\Controllers\\GuestController.php
and app\\Http\\Requests\\ItemValidation.php
. 我有一个控制器和一个Form Request Validation类:
app\\Http\\Controllers\\GuestController.php
和app\\Http\\Requests\\ItemValidation.php
。 In GuestController.php
I use storeItem(ItemValidation $request)
method to store item data which comes from <form>
. 在
GuestController.php
我使用storeItem(ItemValidation $request)
方法存储来自<form>
项目数据。
And in ItemValidation.php
request class I redirect back to the form with following method if validation fails. 如果验证失败,则在
ItemValidation.php
请求类中,使用以下方法将我重定向回表单。
public function response(array $errors){
return Redirect::back()->withErrors($errors)->withInput()->with('type', '2');
}
The main thing I want is to pass value from <form>
(which is entered by user in form) to response
method. 我想要的主要事情是将值从
<form>
(由用户以form输入)传递给response
方法。 I tried with following but it did not work: 我尝试了以下操作,但没有成功:
public function response(array $errors, Request $request){
return Redirect::back()->withErrors($errors)->withInput()->with('type', '2')->with('sub_menu_id',$request->sub_menu_id);
}
->withInput()
flashes the previous input to the session. ->withInput()
将先前的输入闪烁到会话中。
In your form view, you should use the old()
helper to repopulate the value if a previous input exists. 在表单视图中,如果存在先前的输入,则应使用
old()
帮助器重新填充该值。
Blade: 刀:
<input type="text" name="username" value="{{ old('username') }}">
Plain PHP: 普通的PHP:
<input type="text" name="username" value="<?= e(old('username')) ?>">
If there is no previous input, it returns null, which echoes as an empty string. 如果没有先前的输入,则返回null,它作为空字符串回显。
Documentation: https://laravel.com/docs/5.3/requests#old-input 文档: https : //laravel.com/docs/5.3/requests#old-input
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.