【问题标题】:Help with jQuery Validation plugin and a form that uses 'panels'帮助 jQuery 验证插件和使用“面板”的表单
【发布时间】:2009-09-24 02:59:11
【问题描述】:

我有一个在“部分”中工作的表单,我将其称为“面板”。

默认情况下,表单在页面上列出,一个面板接一个面板。但是,使用 JavaScript 时,它会将面板放入一个面板查看器中,并一个接一个地显示它们(带有上一个/下一个按钮)。

示例表单工作流程

面板 1:用户详细信息 -> 面板 2:用户位置 -> 面板 3:用户信息 -> 面板 4:确认详细信息

我正在使用jQuery Validation plugin

我的问题是,我已经为前 3 个面板中的所有输入设置了所有规则,我希望每个面板只能验证其中的一部分。例如,在完成姓名和电子邮件后(在第一个,用户详细信息面板中)推送“下一个面板”时,我想先只在该面板上进行验证,然后得到一个布尔响应(如果第一个面板验证),如果为真,则继续下一个面板。

我已经尝试了一些配置,但不幸的是无法让它按我想要的方式工作。这是我第一个使用这个插件的项目,所以我对它很陌生!

有没有办法给插件动态添加规则?即不在$('form').validate(options) 上?

我想要做的是调用表单上的validate(),连同所有错误消息,然后在“下一个面板”代码上,做一个 switch case 来确定要添加哪些规则,然后自己打电话给validate()

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    你在做类似multi-part form validation的事情吗?

    哇,甚至没有注意到这篇文章有多老,我猜你现在已经想通了/找到了解决方法=)。

    【讨论】:

      【解决方案2】:
      你不能这样做: next.onclick(验证表单) 隐藏以下面板的错误 显示下一个面板

      看文档,好像可以验证每一个元素,所以onclick(validate page one)...等等

      http://docs.jquery.com/Plugins/Validation/Validator/element#element

      或者您可以使用以下方法向验证添加方法:

      http://docs.jquery.com/Plugins/Validation/Validator/addMethod#namemethodmessage

      【讨论】:

      • 但是如果表单被验证,我想返回一个布尔值。如果我这样做,第二个面板中的表单输入也不会验证。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      相关资源
      最近更新 更多