首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交表单时弹出/模式,取决于已输入表单的信息

问提交表单时弹出/模式,取决于已输入表单的信息
EN

Stack Overflow用户
提问于 2019-02-11 13:08:10
回答 1查看 340关注 0票数 0

我正在寻找关于在Ruby/Rails中实现表单提交的弹出/模式的最佳方法的建议。

我有一个简单的表单,带有一个submit按钮,按预期工作(更新数据库中的相关字段)。

我得到了额外的要求:根据表单中输入的信息,在提交表单时应该有一个模式/弹出。对这方面的不同要求的概述如下:

  1. 当某些字段被更新,但信息与较早的更新(例如,日期字段被更新,但以前已经设置了不同的日期)发生冲突时,将出现一个带有错误的弹出/模式,当单击OK时,单击OK将返回到任何输入仍然到位的表单(即不刷新表单)。有三种不同的场景有三种不同的错误类型,因此需要三种不同的错误消息。
  2. 当某些字段被更新,但其他字段保留为空白时,弹出/模式中的“您确定吗?”将出现键入消息。同样,有三种不同的场景,因此需要三种不同的消息。将有“取消”和“确定”按钮:“取消”将返回到任何输入仍然到位的表单,“确定”将提交该表单。
  3. 最后,如果更新表单时没有任何问题(即上述任何一个都不是真的),则表单将提交而不带弹出/模式(即标准表单提交)。

我已经研究了如何创建模型,但是由于我有七种不同的场景/需求,我很难找到一种合适的方式来实现这一点。我想到的第一件事是,会有大量的if-声明,但我认为必须有更有效的方法来做到这一点。我看过的代码中有几个使用button_tag的调制解调器(在我接管项目之前就已经完成了),但是我不知道是否希望在表单中使用相同的格式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-11 14:30:33

对于第一个场景,您可以查看如何在ActiveRecord模型validations.html#custom-methods上实现自己的验证。表单数据通过AJAX提交,检查JSON响应中的任何错误,如果存在错误,则显示模式。

对于第二个场景,我将添加客户端验证。提交表单时,JS是否检查字段,如果字段为空,请显示“您确定吗?”模态。如果他们单击“是”,那么我们将进入场景一,检查是否有任何错误。

最后,如果表单提交成功,则通过JS清除所有字段并显示成功消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54631342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档