【发布时间】:2015-06-30 20:31:56
【问题描述】:
我是 Laravel 世界的新手,但我遇到了一个目前无法解决的问题。
我的问题是:
验证失败后如何访问控制器create()函数中提交的值?
这是我所拥有的:
- PostsController,在 routes.php 中定义为资源
- 在控制器中,我有常用方法
create()和store()等。
这里有一些代码:
//PostsController
public function create()
{
//Here I need to get the inputs
return view('posts.create');
}
public function store(Requests\PostsRequest $request)
{
//store actions
}
我创建了 PostsRequest 类,它有一些规则,例如:
public function rules(){
$rules = [
'category_id'=>'required',
'name'=>'required|min:3',
'description'=>'required'
];
return $rules;
}
如果一切正常,条目已存储到数据库中,但当验证失败时,它会加载带有一些验证消息的create()。
我需要在表单中加载所选类别的祖先,这应该通过知道 category_id 元素的提交值来实现。
到目前为止我已经尝试过:
-
尝试像这样在创建中添加参数:
public function create(Requests\PostsRequest $request){...}但它进入了无限循环。我理解为什么因为控制器的资源定义并且它“认为”它是存储方法。
试图打印外观
Input::all(),但它是空的-
尝试制作:
public function create(){ $request = new \Request(); //print $request }但它不起作用,我认为这不是正确的方法。
因此,如果您想知道如何在控制器中获取这些值,我们将不胜感激。
【问题讨论】:
标签: validation laravel laravel-5