【问题标题】:How can I validate an entire page with the jQuery Validate plugin?如何使用 jQuery Validate 插件验证整个页面?
【发布时间】:2015-07-29 18:59:11
【问题描述】:

在某些情况下使用 jQuery validate 插件很容易,例如官方文档,here

<form class="cmxform" id="commentForm" method="get" action="">
  <fieldset>
    <legend>Please provide your name, email address (won't be published) and a comment</legend>
    <p>
      <label for="cname">Name (required, at least 2 characters)</label>
      <input id="cname" name="name" minlength="2" type="text" required>
    </p>
    <p>
      <label for="cemail">E-Mail (required)</label>
      <input id="cemail" type="email" name="email" required>
    </p>
    <p>
      <label for="curl">URL (optional)</label>
      <input id="curl" type="url" name="url">
    </p>
    <p>
      <label for="ccomment">Your comment (required)</label>
      <textarea id="ccomment" name="comment" required></textarea>
    </p>
    <p>
      <input class="submit" type="submit" value="Submit">
    </p>
  </fieldset>
</form>
<script>
$("#commentForm").validate();
</script>

但是,如果您本身没有“表单”,但想对整个页面应用验证怎么办?

我试过这个:

$(window).load(function () {
    . . .
    this.validate();
});

...但它似乎不起作用。相关问题here

【问题讨论】:

    标签: jquery jquery-validate


    【解决方案1】:

    您需要验证表单。所以你可以使用验证:

    $('#commentForm').validate();
    

    $('#commentForm').valid();
    

    提交按钮点击事件

    【讨论】:

    • 您的意思是提交按钮代码中的 this.validate() ?我不能这样做,因为该代码在服务器端,是代码隐藏的 C# 代码。
    • @B.ClayShannon 我正在审查您当前的问题,看来您所有的问题都是由于您使用了 ASP.Net 网络表单。要启用您正在寻找的更丰富的客户端功能,您应该考虑使用纯 HTML 和 Javascript 来呈现您的表单客户端并对服务器端 Web 服务进行 AJAX 调用。你正在遭受的痛苦是十年前常见的痛苦。
    • 这是否意味着我在从事这项工作时年轻了十岁?我没感觉。
    【解决方案2】:

    但是,如果您本身没有“表单”,但想对整个页面应用验证怎么办?

    该插件很可能依赖于本机(或 jquery)submit() 功能。任何时候创建表单时,都应该尝试使用&lt;form&gt; 标签。至少出于语义原因,如果没有别的原因。

    【讨论】:

    • 页面上的所有内容都是用 C# 在服务器端创建的。
    • 我不认为后端验证是问题的一部分?
    • 验证在客户端进行;不过,这些控件是使用服务器端代码动态创建的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    相关资源
    最近更新 更多