Spring WebFlow、验证和模型

发布于 2024-11-16 19:44:44 字数 457 浏览 2 评论 0原文

我正在构建一个示例 Spring WebFlow 应用程序,并希望获得一些有关如何处理以下场景的信息。

我有 2 个页面,第一页是用户输入数据的表单,第二页仅显示用户在上一页中输入的数据。第一页有“放弃”和“继续”链接,第二页只有编辑链接,将用户带到第一个屏幕以便对数据进行编辑。

我正在测试的场景是..用户输入数据,点击继续链接,执行验证器(Spring/WebFlow 验证器)并显示第二页数据(正确的数据)。现在,用户点击编辑链接,更改第一页上的字段,点击继续链接,执行验证器并显示错误消息(例如,用户在电子邮件字段中输入了无效的电子邮件地址,该地址在模型中定义为字符串)对象)显示在同一页面(第一页)上。现在,用户点击放弃链接并转到显示数据的第二页。现在,由于第一页上的验证失败,显示的数据不正确(显示无效的电子邮件地址)。

一旦用户点击丢弃链接,如果有人可以帮助我显示旧数据(正确的数据),我将不胜感激,因为数据/模型不会持久保存在任何地方。

I am building a sample Spring WebFlow application and wanted to get some inputs on how the handle the below scenario.

I have 2 pages, the first page is a form where the user inputs data and the second page just displays the data the user entered in the previous page. The first page has a 'discard' and a 'continue' link and the second page just has the edit link which takes the user to the first screen so as to make edits on the data.

The scenario I am testing is..the user enters data, hits the continue link, the validators(Spring/WebFlow validators) are executed and the second page is displayed with the data (correct data). Now the user hits the edit link, changes a field on the first page, hits the continue link, the validators are executed and a error message(ex. user entered an invalid email address in the email field which is define as String in the model object) is shown on the same page (first page). Now the user hits the discard link and goes to the second page where the data is displayed. Now since the validations on the first page failed, the data displayed is not the correct one (shows the invalid email address).

Appreciate if some one can help me with displaying the old data (correct data) once the user hits the discard link since the data/model is not persisted anywhere.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不寐倦长更 2024-11-23 19:44:44

如果您处于模型的视图状态,并且使用 bind="true"(默认)进行转换,则该快照的模型对象会发生更改。也就是说,一旦您“继续”,您就更新了该对象。

我不知道您是否可以跟踪用户并将其返回到以前的快照。如果没有,您需要保留一个“备份”对象,并在附加到“丢弃”的代码中手动恢复该对象。

If you're on a view-state with a model and you take a transition with bind="true" (the default), the model object is changed for that snapshot. That is, once you "continue", you've updated the object.

I don't know if you could track and return the user to a previous snapshot. If not, you'd need to retain a "backup" object and manually restore that one in the code attached to "discard".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文