【问题标题】:How to do a server-side Ajax validation in a modal box如何在模态框中进行服务器端 Ajax 验证
【发布时间】:2012-07-04 01:14:47
【问题描述】:

我目前有一个使用 twitter 引导模式框的应用程序。模态显示的 div 正在从 /users/new 操作加载 JQuery。如果用户在提交的模式框中输入有效数据,但如果发送到 params 的数据未通过验证,控制器将重定向回新操作,但这一次在模式框之外并且用户之前所在的页面是消失了,这有点违背了使用模态框的目的。

我查看了 Live-Validation 和其他基于 javascript 的客户端验证。这些是一个选项,但为了一致性起见,我更希望能够在用户模型中使用我现有的验证。我有一个好方法可以让模态框在提交表单时保持不变,并使控制器在模态框内重新加载带有error_messages的页面?

谢谢

【问题讨论】:

    标签: jquery ruby-on-rails ajax validation modal-dialog


    【解决方案1】:

    是否使用 javascript 将 error_messages 加载到模式中?如果是这样,您可以让页面检查加载时是否有 error_messages,然后弹出打开模式框(如果有)。这不会保存来自模态的任何输入,但会弹出它。

    或者,您可以在当前模型的基础上实施一些轻量级客户端验证。但是,它的亮度取决于您的模型对其输入的挑剔程度。如果它会接受/拒绝什么非常具体,那么验证一致性会更加困难,并且让某些东西通过客户端验证只是反弹并说它是无效的并不总是很漂亮。

    【讨论】:

    • 我也将 /users/new 视图用作独立视图,并且不想在使用独立视图时弹出模式,这会在您的解决方案中发生描述我相信。我可能会尝试做客户端验证,但我更愿意以某种方式能够做到这一点而不诉诸它。
    • 您不能使用 ajax 有什么原因吗?在脚本中将带有重定向的表单更改为 ajax 有时会很痛苦,但它省去了重新加载页面(以及页面本身)上所有信息的麻烦。
    猜你喜欢
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多