【问题标题】:How can I check the validity of a form using jQuery?如何使用 jQuery 检查表单的有效性?
【发布时间】:2012-12-31 04:42:46
【问题描述】:

我之前有一个关于如何检查提交的问题是这样回答的:

$("form").on("submit", function() {
    var $form = $(this);

    // if there are validation errors do not continue.
    if (!$form.valid()) {
        return false;
    }
});​

但是在 VS2012 中,它显示 .valid 为“此属性在 jQuery 类型的值上不存在”。请注意,我还没有尝试运行它,因为我仍然在 VS2012 编辑器中看到语法错误。

在我的脚本目录中,我有以下 _reference.js 文件。我应该告诉 VS2012 还是在我的脚本中引用它?

/// <reference path="jquery-1.8.3.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="jquery.validate.unobtrusive.js" />

谁能给我一些关于哪里出了问题的建议?

解决方案

我有一个 _reference.js 文件,但为了使这项工作正常,我必须在我的脚本中包含对 _reference.js 文件的引用。现在可以正常使用了。

【问题讨论】:

  • 您使用的是 jQuery.validate 插件还是 HTML5 验证?
  • jQuery.isFunction(jQuery.valid)
  • @Jonathan - 你的评论是什么意思?
  • sn-p 将返回方法valid 是否存在于jquery
  • .valid() 方法已记录在案,显然是插件的一部分。奇怪的是,即使包含参考,VS 也无法捕捉到它。

标签: javascript jquery asp.net-mvc asp.net-mvc-3 visual-studio-2012


【解决方案1】:

在拨打valid()之前,您需要先拨打validate()

$("form").validate();
$("form").on("submit", function() {
    var $form = $(this);

    // if there are validation errors do not continue.
    if (!$form.valid()) {
        return false;
    }
});​

【讨论】:

  • @Palesh - 提交时不会自动调用验证吗?如果没有,那么感谢你的好观点。我还想知道为什么我在 VS2012 编辑器中出现语法错误说 .valid 不存在?
  • 您使用的是最新的验证插件吗?
  • 是的,我是。 /*! jQuery 验证插件 - v1.10.0 - 9/7/2012
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 2022-11-07
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多