表单验证若干问题?!
时间:2010-03-09
来源:互联网
大家好,小弟在使用表单验证,一时晕乎,请求大家解惑!
1.rules方法里如何完成username,password,password_confirm的验证?!
为什么我在插件里找不到该三类所谓的方法?!
2.rules方法又是如何工作?!
html:
$(document).ready(function() {
// validate signup form on keyup and submit
$("#signupform").validate({
rules: {
username: {
required: true,
minlength: 2
},
email: {
email:"#email",
required: true
},
password: {
password: "#username"
},
password_confirm: {
required: true,
equalTo: "#password"
}
},
messages: {
username: {
required: "Enter a username",
minlength: jQuery.format("Enter at least {0} characters")
},
email: {
required: "Enter a email",
minlength: jQuery.format("Please enter a valid email address")
},
password_confirm: {
required: "Repeat your password",
minlength: jQuery.format("Enter at least {0} characters"),
equalTo: "Enter the same password as above"
}
};
});
插件中的方法:
rules: function(command, argument) {
var element = this[0];
if (command) {
var settings = $.data(element.form, 'validator').settings;
var staticRules = settings.rules;
var existingRules = $.validator.staticRules(element);
switch(command) {
case "add":
$.extend(existingRules, $.validator.normalizeRule(argument));
staticRules[element.name] = existingRules;
if (argument.messages)
settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages );
break;
case "remove":
if (!argument) {
delete staticRules[element.name];
return existingRules;
}
var filtered = {};
$.each(argument.split(/\s/), function(index, method) {
filtered[method] = existingRules[method];
delete existingRules[method];
});
return filtered;
}
}
var data = $.validator.normalizeRules(
$.extend(
{},
$.validator.metadataRules(element),
$.validator.classRules(element),
$.validator.attributeRules(element),
$.validator.staticRules(element)
), element);
// make sure required is at front
if (data.required) {
var param = data.required;
delete data.required;
data = $.extend({required: param}, data);
}
return data;
}
});
1.rules方法里如何完成username,password,password_confirm的验证?!
为什么我在插件里找不到该三类所谓的方法?!
2.rules方法又是如何工作?!
html:
$(document).ready(function() {
// validate signup form on keyup and submit
$("#signupform").validate({
rules: {
username: {
required: true,
minlength: 2
},
email: {
email:"#email",
required: true
},
password: {
password: "#username"
},
password_confirm: {
required: true,
equalTo: "#password"
}
},
messages: {
username: {
required: "Enter a username",
minlength: jQuery.format("Enter at least {0} characters")
},
email: {
required: "Enter a email",
minlength: jQuery.format("Please enter a valid email address")
},
password_confirm: {
required: "Repeat your password",
minlength: jQuery.format("Enter at least {0} characters"),
equalTo: "Enter the same password as above"
}
};
});
插件中的方法:
rules: function(command, argument) {
var element = this[0];
if (command) {
var settings = $.data(element.form, 'validator').settings;
var staticRules = settings.rules;
var existingRules = $.validator.staticRules(element);
switch(command) {
case "add":
$.extend(existingRules, $.validator.normalizeRule(argument));
staticRules[element.name] = existingRules;
if (argument.messages)
settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages );
break;
case "remove":
if (!argument) {
delete staticRules[element.name];
return existingRules;
}
var filtered = {};
$.each(argument.split(/\s/), function(index, method) {
filtered[method] = existingRules[method];
delete existingRules[method];
});
return filtered;
}
}
var data = $.validator.normalizeRules(
$.extend(
{},
$.validator.metadataRules(element),
$.validator.classRules(element),
$.validator.attributeRules(element),
$.validator.staticRules(element)
), element);
// make sure required is at front
if (data.required) {
var param = data.required;
delete data.required;
data = $.extend({required: param}, data);
}
return data;
}
});
作者: jc_dreaming 发布时间: 2010-03-09
真正的验证又不是这段代码,这段就相当于初始化参数吧,就是些内部方法
你从891行开始看
你从891行开始看
作者: ywqbestever 发布时间: 2010-03-09
谢谢,ywqbestever 的回答!
但请问rules方法里如何完成username,password,password_confirm的验证?!
为什么我在插件里找不到该三类所谓的方法?!
但请问rules方法里如何完成username,password,password_confirm的验证?!
为什么我在插件里找不到该三类所谓的方法?!
作者: jc_dreaming 发布时间: 2010-03-09
呵呵,谢谢ywqbestever 提醒,我看了一下代码,终于释疑!
rules: {
username: {
required: true,
minlength: 2
},
其实rules是初始化参数的话,那么username:又是做什么的呢?!
呵呵,原来,工作的是required&minlength()!
rules: {
username: {
required: true,
minlength: 2
},
其实rules是初始化参数的话,那么username:又是做什么的呢?!
呵呵,原来,工作的是required&minlength()!
作者: jc_dreaming 发布时间: 2010-03-09
username是input的name么,然后插件根据他来绑定事件
作者: ywqbestever 发布时间: 2010-03-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28