【JQ】 validate验证表单时多个name相同的元素的解决办法
2017-05-02 23:42
585 查看
使用jQuery.validate插件http://jqueryvalidation.org/,当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上。
$(function () {
if ($.validator) {
$.validator.prototype.elements = function () {
var validator = this,
rulesCache = {};
return $([]).add(this.currentForm.elements)
.filter(":input")
.not(":submit, :reset, :image, [disabled]")
.not(this.settings.ignore)
.filter(function () {
var elementIdentification = this.id || this.name;
!elementIdentification && validator.settings.debug && window.console && console.error("%o has no id nor name assigned", this);
if (elementIdentification in rulesCache || !validator.objectLength($(this).rules()))
return false;
rulesCache[elementIdentification] = true;
return true;
});
};
}
});在页面上引入以上代码,然后给相关节点加上id属性,当name属性相同时候会以id属性来验证
以下代码添加验证规则
$(function () {
if ($.validator) {
$.validator.prototype.elements = function () {
var validator = this,
rulesCache = {};
return $([]).add(this.currentForm.elements)
.filter(":input")
.not(":submit, :reset, :image, [disabled]")
.not(this.settings.ignore)
.filter(function () {
var elementIdentification = this.id || this.name;
!elementIdentification && validator.settings.debug && window.console && console.error("%o has no id nor name assigned", this);
if (elementIdentification in rulesCache || !validator.objectLength($(this).rules()))
return false;
rulesCache[elementIdentification] = true;
return true;
});
};
}
});在页面上引入以上代码,然后给相关节点加上id属性,当name属性相同时候会以id属性来验证
以下代码添加验证规则
$(function(){ $("#myform").validate(); $("[name=email]").each(function(){ $(this).rules("add", { required: true, email: true, messages: { required: "请输入正确email" } }); }); });
相关文章推荐
- jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
- Jquery validate验证表单时多个name相同的元素只验证第一个的问题
- jquery validate表单验证在ie8下不兼容的解决办法
- JqueryValidate表单相同Name不校验问题解决
- jQuery.validate验证时用的是Form输入表单的name属性
- Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP
- 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate 的解决办法
- EasyUI中,使用jquery或者js动态添加元素,验证失效的解决办法
- Easyui, 向表单中动态append一个input元素后,表单验证不生效【已解决】
- jqeury validate 相同name值的解决办法
- 无法在提交表单前通过ajax验证解决办法
- Request获取具有相同 name 属性表单元素值
- firefox自动填充记住的用户名密码到相同name的文本域解决办法
- 判断jquery.表单验证插件是否通过验证的解决办法
- yii 使用cactiveform 创建表单时候遇到的一些验证问题和使用ajax_form时重置验证规则的解决办法
- MVC4中 jquery validate 不用submit方式验证表单或单个元素
- Request 分别获取具有相同 name 属性表单元素值
- Request 分别获取具有相同 name 属性表单元素值
- Request 分别获取具有相同 name 属性表单元素值—— 怀念 Classic ASP (转自博客园)
- Struts2.0中使用JQuery的validate表单验证 取name问题