我已用Blog
替换了我的实体,以便更好地解释。
我有以下路线:
Route::get('/blog-category', 'BlogController@showBlogCategory')
显示一个表单,其中包含不同博客类别的下拉列表以及与该类别相关的一些其他输入字段
表格POST
以下内容:
Route::post('/blog-details', 'BlogController@showBlogDetails')
这里我验证表单的请求,如果有无效的博客类别或缺少博客类别,则返回
此方法称为showBlogDetails
,因为类别和其他字段会传递到下一个视图return view('blog-details', compact('blogCategoryData'))
在此视图中,有一个表单可以填写其余的博客详细信息。
blogCategoryData
(每个数据都有一个隐藏的输入字段)和博客详细信息都POST
到以下路线:
Route::post('/blog-store', 'BlogController@store')
这也是使用Request
进行验证的,但如果失败,则会尝试返回,但由于只允许POST
进入,因此无法返回。
我需要博客类别字段才能显示博客详情,如果没有任何内容就无法创建Blog
,因此我暂时无法创建。
选择/填写博客类别字段然后输入详细信息的流程是必需的,因此必须按照该顺序在2个不同的页面中完成。
目前它是:
GET -> POST (validate) -> POST (validate)
围绕此问题的最佳方法是什么,或者如何使我当前的流量工作?
答案 0 :(得分:1)
一种方法是使用javascript,当然还有ajax来获取博客数据并显示相应的部分。首先页面只显示类别下拉框。将其更改为正确的类别页面后,会生成ajax请求并获取数据。然后将其替换为隐藏的“div”并显示它。
另一种方法是更换上一页中的类别框。