jquery验证插件,验证当前屏幕的表单字段

时间:2015-05-26 16:15:45

标签: javascript jquery forms jquery-validate

我正在使用jquery validate插件来验证表单字段。我也在使用jqtree。在点击每个子节点时,用户可以看到表单的一部分,该部分应该被填充值。对于每个孩子,都有一个表单内容要填充。整个树内容仅在一个表单内声明。我在表单中有一个按钮,单击生成json文件。我正在调用下面的函数来验证表单

$("myform").validate();
....
if($("#my-form).valid())
   generate the json file

但这并未验证整个表单。假设我在childNode1上,它只验证为childNode1定义的表单部分。据我所知,jquery validate plugin应该在指定正确的表单id时验证整个表单。但有人能告诉我我的方法出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

.validate()方法没有"验证表格"。它只初始化表单上的插件。 .valid()将以编程方式触发验证测试。

您的代码:

$("myform").validate();
....
if($("#my-form).valid())
   generate the json file
  1. $("myform") - 这应该是idclass还是name?正如您所写,它正在寻找<myform></myform>元素。

    $("#myform")         // id="myform"
    $(".myform")         // class="myform"
    $("[name='myform']") // name="myform"
    
  2. 您的form元素是myform还是my-form?如果它是相同的<form>元素,则两个jQuery选择器将是相同的。

  3. $("#my-form)缺少结束引号。

  4. 如果id元素的<form>"myform",那么您的代码应为......

    $("#myform").validate();      // <- initialize the plugin
    ....
    if ($("#myform").valid()) {   // <- test the form's validity
       // generate the json file
       ....
    }
    
      

    OP标题:jquery验证插件,验证当前屏幕的表单字段

    您的问题似乎与标题无关。您的OP中只描述了一种表单,由于这是JavaScript,因此只有在浏览器中加载的页面才是相关的。不确定&#34;当前屏幕&#34;

    的含义
      

    但这并未验证整个表单。假设我在childNode1上,它只验证为childNode1定义的表单部分。据我所知,jquery validate插件应该在指定正确的表单id时验证整个表单。

    默认情况下,插件不会验证隐藏的任何表单字段。您可以操纵ignore选项来覆盖此行为。将ignore设置为[]会告诉插件不要忽略任何内容并验证所有字段,包括隐藏字段。

相关问题