您的位置:首页 > 其它

动态添加的表单验证

2017-04-07 11:41 369 查看
思路:首先要复制上一个模块的元素,然后利用字符串截取,修改其name值,然后动态的添加表单验证的规则rules,然后用一个容器来记录一共添加了多少个模块。

动态添加验证部分代码:

var deptHtml = $("#depinfo1").prop("outerHTML");
$(document).on('click', "#addDept", function() {
$(this).prev().find("input").each(function() {
$(this).val("");
var sourceName = this.name;
var newName = this.name.substring(0, sourceName.length - index.length) + newIndex;
this.name = newName;
if (window.formValidateRules.rules[sourceName]) {
var rule = window.formValidateRules.rules[sourceName];
if (rule["compareDate"]) {
rule["compareDate"] = rule["compareDate"].substring(0, rule["compareDate"].length - index.length) + newIndex;
}
rule["messages"] = window.formValidateRules.messages[sourceName];
$(this).rules("add", rule);
}
});
})




时间的比较,兼容Safari浏览器

jQuery.validator.methods.compareDate = function(value, element, param) {
var startDate = $("form input[name='" + param + "']").val();
var endDate = value;
var date1 = Date.parse(startDate.replace(/\s/g,'T').replace(/\//g,'-'));
var date2 = Date.parse(endDate.replace(/\s/g,'T').replace(/\//g,'-'));
return date1 < date2;
};


注意:rules和messagede 的格式,必须有{}括起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: