我需要使用jQuery Validation Plugin验证组合框组件:jqxComboBox
。此组件应用于div
。所以定义
<div id="component_id" />
$( "#component_id" ).jqxComboBox({...});
$("#component_id" ).rules( "add", {
required: true,
messages:{
required: "Field is required"
}
});
抛出以下异常:Cannot read property 'nodeType' of undefined
。我认为这应该是因为我在div上应用了验证规则。
此组件生成隐藏的输入类型以保存选定的值。我还尝试对该隐藏组件应用验证规则,但这不起作用:当隐藏时没有值提交表单。
$('input[type=hidden][name=myName]').rules( "add", {
required: true,
messages:{
required: "Field is required"
}
});
有人可以给我一些如何解决这个问题的提示吗?
答案 0 :(得分:1)
引用OP:
&#34;我需要使用jQuery Validation Plugin验证一个组合框组件:jqxComboBox。此组件应用于div。&#34;
如您所知,您无法使用jQuery Validate来验证div
。您只能验证input
容器中的select
,textarea
和<form>
元素。
引用OP:
&#34;此组件生成隐藏的输入类型以保存所选值。我还尝试对该隐藏组件应用验证规则,但这不起作用:当隐藏没有值时也提交表单。&#34;
将值放在隐藏的输入元素中是一种可接受的解决方法。
但是,默认情况下,jQuery Validate插件将忽略所有隐藏的输入元素。只需将ignore
选项更改为[]
即可忽略&#34;无效&#34;。在ignore
来电中设置.validate()
选项以及所有其他选项。
$('#yourform').validate({
// your other options, rules and callbacks,
ignore: [] // <- ignore nothing - validate hidden elements
});