var data = {
"username" : "zhangsan",
"password" : "12345690",
"code" : "abcd"
}; var validate = {
rules : {},
config : {},
msg : [],
check : function(data){
var k, rule, config, checker;
rule = this.rules;
config = this.config;
this.msg.length = 0;
for(k in data){
if(data.hasOwnProperty(k)){
if(!rule[k]){
throw new Error("validate.check error, error type: " + k + " not exist");
}
checker = this.rules[k];
if(!checker.validate(data[k])){
this.msg.push(checker.msg);
}
}
}
}
}; validate.rules.username = {
validate : function(username){
return username.length > 7;
},
msg : "用户名有误"
}; validate.rules.password = {
validate : function(password){
return password.length > 7
},
msg : "密码挂了"
}; validate.rules.code = {
validate : function(code){
return code === "abcdef";
},
msg : "验证码不对"
}; validate.check(data); if(validate.msg.length){
console.log(validate.msg.join("\n"));
}

最新文章

  1. HDU 2689 Sort it (树状数组)
  2. Nginx系列3之Nginx+tomcat
  3. HDU5845 Best Division
  4. libuv里的几个缺陷
  5. Quartz之主方法运行
  6. HtmlHelper
  7. Android 程序框架设计
  8. RMAN数据库恢复之控制文件和参数文件恢复
  9. c++11新特性(4) lambda捕捉块
  10. getDeclaredConstructor()与getConstructor的差别
  11. ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET
  12. 通过java.net.URLConnection发送HTTP请求的方法
  13. PRINCE2认证
  14. Linux(Debian、Ubuntu、Deepin等)安装最新版Chrome Unstable
  15. [1] C# IS & AS讲解
  16. Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本
  17. Vue和后台交互的方式
  18. 记录怎样把安全证书导入到java中的cacerts证书库
  19. Cocos2d-x 3.0游戏开发之虚拟机IOS环境:匹配才是好,莫要随便升级软件
  20. ecshop二次开发 使用ecshop电子商务系统的100个小问题

热门文章

  1. inner join和left join 、right join 的区别?
  2. 2721: [Violet 5]樱花
  3. 【BZOJ4481&JSOI2015】非诚勿扰(数学期望)
  4. 牛客挑战赛14-F细胞
  5. 【Linux】自主实现my_sleep【转】
  6. Manjaro linux软件源设置
  7. [翻译][Nokogiri官方教程] 解析HTML/XML文档 / Parsing an HTML/XML Document
  8. linux mmap 详解【转】
  9. php--点赞功能的实现
  10. git的使用学习(七)githup和码云的使用