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();

  • 相关阅读:
    前端框架-Bootstrap【搭建后台管理系统】
    前端-jQuery
    前端-js基础语法-DOM
    前端-js基础语法
    前端-html标签
    python学习并发编程
    python学习网络编程
    python爬虫学习:第一爬_快眼看书排行榜
    python总结:模块汇总
    python学习_解释器接口模块:sys
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869711.html
Copyright © 2011-2022 走看看