正确的输入——过滤器模式-创新互联
在建造者模式中动态创建表单时,用户的输入是任意的,显然这是不允许的,我们需要过滤掉用户不合理的输入并加以提示,过滤器模式允许开发人员通过不同的标准过滤一组对象,并通过逻辑运算将他们连接起来。
创新互联建站-专业网站定制、快速模板网站建设、高性价比新疆网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式新疆网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖新疆地区。费用合理售后完善,十载实体公司更值得信赖。实例中根据表单的要求,设计输入为空过滤器,邮箱格式过滤器,长度过滤器,并根据用户的输入给出结果,其类图结构如下:
代码实现:
var Filter = Class.extend({ controls:[], ctor:function(_controls = []){ this.controls = _controls; }, addControl:function(_control){ this.controls.push(_control); }, filter:function(){ return []; } }); var EmailFilter = Filter.extend({ filter:function(){ var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; for(var i in this.controls){ var txt = document.getElementById(this.controls[i].id).value; if(!myreg.test(txt)) { console.log(this.controls[i].label + "不符合邮件格式"); } } } }); var LengthFilter = Filter.extend({ filter:function(){ for(var i in this.controls){ var txt = document.getElementById(this.controls[i].id).value; if(txt.length < 6){ console.log(this.controls[i].label + "长度不能小于6"); } } } }); var EmptyFilter = Filter.extend({ filter:function(){ for(var i in this.controls){ var txt = document.getElementById(this.controls[i].id).value; if(txt == ""){ console.log(this.controls[i].label + "不能为空"); } } } });附件:http://down.51cto.com/data/2368476
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:正确的输入——过滤器模式-创新互联
转载来源:http://ybzwz.com/article/piedj.html