【问题标题】:Best way to do jquery form validation?进行jQuery表单验证的最佳方法?
【发布时间】:2011-09-23 13:39:12
【问题描述】:

好的,所以我们有以下输入框:

firstname, lastname, email, password, city, state, captcha, terms and conditions

我已经完成了所有这些输入框的验证。

此验证针对每个 ID 单独进行,并通过 change() 工作

邮件和验证码使用ajax,如果成功则返回true。

我还拥有submit()表单中的所有验证

但是当表单被提交时,ajax 的验证会再次发生,并且表单是在 ajax 请求正在处理时提交的。

如何让表单延迟提交,直到验证运行然后自动提交?像某种延迟功能?

验证的每个部分都返回一个名为 error 的 var - 错误可以是 truefalse

如果错误为假,则通过返回假来阻止表单提交。

我一直在考虑取消整个submit() 验证,因为它只是在提交时运行的重复验证并且基本上在循环中运行,我正在考虑使用 jquery 禁用提交按钮,除非所有内容都通过 @ 验证987654328@?

【问题讨论】:

  • 你为什么不检查 jquery 验证插件。
  • 因为我是 jquery 新手,我宁愿学习它也不愿使用预构建库。
  • 虽然不错。但是 jquery 本身是一个库,所以你应该使用 javascript 来工作吗?让您的工作更轻松??
  • 在使用 javascript 进行表单验证时要小心。用户可以轻松关闭他们的 javascript。
  • @jbabey - 如果用户禁用了 javascript 并且未显示表单,我们使用 CSS 显示错误消息。感谢您的关心。

标签: jquery


【解决方案1】:

代码摘录会很方便,但我想说让您的 AJAX oncomplete 函数调用您的提交。由于您有多个 AJAX 函数在运行,您可能需要以菊花链方式将它们连接起来,即当一个完成调用下一个,依此类推,直到最后一个完成并调用提交函数。否则尝试在字段模糊后只调用一次 AJAX,而不是在提交时再次调用?同样,需要查看代码以了解实际情况。

【讨论】:

  • +1 ajax 的异步部分允许提交继续。使用同步 ajax,或者为了保持并发,考虑使用正在进行的请求计数器,如果达到 0,则在完成处理程序中发出真正的提交。
猜你喜欢
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 2016-04-17
  • 2017-07-23
  • 2018-05-04
  • 2023-04-06
相关资源
最近更新 更多