我有控制器users
。
在这个控制器中我有动作帐户,它没有做任何事情 - 它只有一个包含多个表单的视图 - 更改密码,更改内容,阻止帐户等。每个表单都链接到某个操作:users/changepassword
,{ {1}}等
这些操作没有任何视图,仅在users/changesomething
期间和最后简单save(..)
处进行了一些逻辑和验证。总而言之 - 在用户/帐户视图中,有几个表单指向单独的操作。逻辑执行后的这些操作重定向回用户/帐户。
现在的问题是我希望看到所有提交的表单中的无效字段(根据验证规则) - 如果view与控制器在同一个操作中,但是当我使用重定向时,所有无效字段都会丢失 - 我该如何解决它?
答案 0 :(得分:1)
两个选项:
1)将错误保存在会话中,重定向回帐户并再次将其设置在那里。
2)更好的解决方案:将所有表单发布到您的帐户操作中,并在每个包含类型或内容的表单中包含隐藏字段。基于类型调用一个模型方法,如果你正确地遵循MVC,它应该进行所有验证并保存工作。