jquery 验证插件,仅验证当前屏幕的表单字段
jquery validate plugin, validating form fields of only current screen
我正在使用 jquery 验证插件来验证表单字段。我也在使用 jqtree 。单击每个子节点时,用户可以看到一段表单,应该用 values.For 填充每个子节点都有一个表单内容要填写。整个树的内容仅在一种形式中声明。我在表单中有一个按钮,单击它会生成 json 文件。我正在调用下面的函数来验证表单
$("myform").validate();
....
if($("#my-form).valid())
generate the json file
但这并没有验证整个表单。假设我在 childNode1 上,它只验证为 childNode1 定义的表单部分。据我所知,jquery 验证插件应该在指定正确的表单 ID 时验证整个表单。但是谁能告诉我我的方法出了什么问题?
.validate()
方法没有"validate the form"。它只初始化表单上的插件。 .valid()
将以编程方式触发验证测试。
您的代码:
$("myform").validate();
....
if($("#my-form).valid())
generate the json file
$("myform")
- 应该是 id
、class
还是 name
?如您所写,它正在寻找 <myform></myform>
元素。
$("#myform") // id="myform"
$(".myform") // class="myform"
$("[name='myform']") // name="myform"
您的 form
元素是 myform
还是 my-form
?如果它是相同的 <form>
元素,那么两个 jQuery 选择器将是相同的。
$("#my-form)
缺少右引号。
如果 <form>
元素的 id
是 "myform"
,那么您的代码应该是...
$("#myform").validate(); // <- initialize the plugin
....
if ($("#myform").valid()) { // <- test the form's validity
// generate the json file
....
}
OP Title: jquery validate plugin, validating form fields of only current screen
你的问题好像与标题无关。您的 OP 中只描述了一种形式,因为这是 JavaScript,所以只有浏览器中加载的页面是相关的。不确定 "current screen".
是什么意思
but this is not validating the entire form. suppose I am on childNode1 it validates only form section defined for childNode1. As far as I have understood jquery validate plugin should validate entire form when correct form id is specified.
默认情况下,插件不会验证任何隐藏的表单域。您可以操纵 ignore
选项来 over-ride 此行为。将 ignore
设置为 []
将告诉插件忽略任何内容并验证所有字段,包括隐藏的字段。
我正在使用 jquery 验证插件来验证表单字段。我也在使用 jqtree 。单击每个子节点时,用户可以看到一段表单,应该用 values.For 填充每个子节点都有一个表单内容要填写。整个树的内容仅在一种形式中声明。我在表单中有一个按钮,单击它会生成 json 文件。我正在调用下面的函数来验证表单
$("myform").validate();
....
if($("#my-form).valid())
generate the json file
但这并没有验证整个表单。假设我在 childNode1 上,它只验证为 childNode1 定义的表单部分。据我所知,jquery 验证插件应该在指定正确的表单 ID 时验证整个表单。但是谁能告诉我我的方法出了什么问题?
.validate()
方法没有"validate the form"。它只初始化表单上的插件。 .valid()
将以编程方式触发验证测试。
您的代码:
$("myform").validate();
....
if($("#my-form).valid())
generate the json file
$("myform")
- 应该是id
、class
还是name
?如您所写,它正在寻找<myform></myform>
元素。$("#myform") // id="myform" $(".myform") // class="myform" $("[name='myform']") // name="myform"
您的
form
元素是myform
还是my-form
?如果它是相同的<form>
元素,那么两个 jQuery 选择器将是相同的。$("#my-form)
缺少右引号。
如果 <form>
元素的 id
是 "myform"
,那么您的代码应该是...
$("#myform").validate(); // <- initialize the plugin
....
if ($("#myform").valid()) { // <- test the form's validity
// generate the json file
....
}
OP Title: jquery validate plugin, validating form fields of only current screen
你的问题好像与标题无关。您的 OP 中只描述了一种形式,因为这是 JavaScript,所以只有浏览器中加载的页面是相关的。不确定 "current screen".
是什么意思but this is not validating the entire form. suppose I am on childNode1 it validates only form section defined for childNode1. As far as I have understood jquery validate plugin should validate entire form when correct form id is specified.
默认情况下,插件不会验证任何隐藏的表单域。您可以操纵 ignore
选项来 over-ride 此行为。将 ignore
设置为 []
将告诉插件忽略任何内容并验证所有字段,包括隐藏的字段。