zoukankan      html  css  js  c++  java
  • 3.js模式-策略模式

    1. 策略模式

    策略模式定义一系列的算法,把它们封装起来,并且可以互相替换。

    var strategies = {

          isNonEmpty: function(value,errMsg){

                 if(value === ''){

                        return errMsg;

                 }

          },

          minLength:function(value,length,errMsg){

                 if(value.length < length){

                        return errMsg;

                 }

          }

    }

    var validator = function(){

          this.cache = [];

    }

    validator.prototype.add = function(dom,rule,errMsg){

          var array = rule.split(':');

          this.cache.push(function(){

                 var strategy = array.shift();

                 array.unshift(dom.value);

                 array.push(errMsg);

                 return strategies[strategy].apply(dom, array);

          });

    }

    validator.prototype.validate = function(){

          for(var i =0,validatorFunc;validatorFunc=this.cache[i++];){

                 var msg = validatorFunc();

                 if(msg){

                        return msg;

                 }

          }

    }

    validator.add(form.name,'isNonEmpty','用户名不能为空');

    validator.add(form.name,'minLength:10','用户名不能为空');

    validator.validate();

  • 相关阅读:
    项目管理
    开源视频会议bigbluebutton开发(1)——初始化安装以及配置
    oracle休系统结构
    Tomcat上安装配置Axis
    锁表头
    文件复制三种方法
    程序员技术练级攻略
    Linux (RHEL 5.4)下安装 Oracle 10g R2
    Android 学习资料收集汇总
    WAS61安装调整和应用部署.doc
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869711.html
Copyright © 2011-2022 走看看