在验证器中添加自定义规则以检查<ul>具有元素
to add a custom rule in validator to check <ul> has element
我想在提交表单时检查我的<ul>
是否有子项。下面是我的html:
<form>
/*other input elements*/
<div class="attributes-added">
<ul name = "attributesAddedList">
// by default no element is present
</ul>
<input type = "submit" value = "save"> </div>
</form>
正如您所看到的,提供的ul默认情况下有子级(<li>
)。用户需要动态添加它们,这不是问题。但我需要的是,当我提交表单时,它应该使用自定义函数检查ul
在jQuery validator
中是否有子项。
我已经尝试了下面这样的验证器,但还没有取得丰硕的成果。
$("#templateForm").validate({
rules: {
attributesAddedList:{
addedCategory: $(".attributes-added ul").has("li").length
}
},
message: {
attributesAddedList:{
addedCategory: "the message"
}
}
});
现在用于自定义功能
$.validator.addMethod("addedCategory", function(value, element, len) {
if(len < 0){
return false;
}
}, "choose a category");
有什么帮助吗?
我使用了一个隐藏的输入来添加一个规则,但我建议使用提交处理程序,但通过这种方式,您可以使用.valid()方法,而不必等待表单的提交,希望这能帮助
jQuery.validator.addMethod("hasAttributes", function(value, element) {
console.log('bla');
return $("ul > li").length > 0
})
console.log($("#templateForm").validate({
ignore: "",
rules: {
attr: {hasAttributes: true}
},
submitHandler: function (form) { // for demo
alert(this.valid()); // for demo
return false; // for demo
},
invalidHandler: function(event, validator) { alert('oops, no attributes'); }
}));
$("#templateForm").valid()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min.js"></script>
<form id="templateForm">
/*other input elements*/
<div class="attributes-added">
<input type="hidden" id="attr" name="attr">
<ul name = "attributesAddedList">
// by default no element is present
</ul>
<input type = "submit" value = "save"> </div>
</form>
相关文章:
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在验证器中添加自定义规则以检查<ul>具有元素
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- 排序<李><Ul>根据<span>内部<李>
- CSS/.JS问题,<ul><李>在Megamenu中
- 如何附加<李>至<ul>使用可拖动和可丢弃
- 如何将逗号分隔的列表转换为<ul>列表
- Nav<ul>mouseout吗?如何修复
- Jquery将css类添加到父级<ul>元素
- 如何将Array转换为<ul><李>以字母为标题的字母列表
- 注入html标记<ul></ul>在我的<李></李>元素
- 如何移除<灯>在& lt; ul>我是通过jQuery添加的
- 添加<光照>& lt; ul>从javascript
- & lt; li>带着孩子
- 从& lt; ul>< light >的子元素
- 使用& lt; ul>用于导航(不能记住状态)
- 移除& lt; LI>从& lt; UL>点击使用jQuery
- & lt; UL>菜单在单一的文件,然后调用它在所有的HTML网页
- 找到& lt; ul>基于< light >的文本
- 如何将json数据显示为html<ul><李></李></ul>在asp.net中
- & lt; ul>不是坍塌,只是延伸