首页 > javascript相关 > jquery教程 > 正文

jQuery轻量级表单模型验证插件_jquery

2018-11-10 10:00:38

JQuery插件,轻量级表单模型验证,供大家参考,具体内容如下

附上源码和Demo段

var validataForm = (function(model) {  model.Key = "[data-required='true']";  model.ElementList = new Array();  model.FunctionDictionary = new Dictionary();  model.ToastrCustom = function (msg) {    alert(msg);  }  model.AddElement = function (name) {    model.ElementList.push(name);  };  model.AddFunction = function (name, func) {    model.FunctionDictionary.add(name, func);  };  model.Validata = function (formName) {    for (var i = 0; i < model.ElementList.length; i++) {      var thisObj = model.ElementList[i];      var str = formName + " " + thisObj + model.Key;      var elements = $(str);      for (var j = 0; j < elements.length; j++) {        var element = elements.eq(j);        var value = element.val();        var elementType = element.data().type;        var func = model.FunctionDictionary.find(elementType);        if (func) {          var result = func(value, element);          if (result.status) {            var errorInfo = result.message;            model.ToastrCustom(errorInfo);            return;          }        }      }    }  };  model.ElementList.push("input");  model.ElementList.push("select");  model.FunctionDictionary.add("required", function (value, element) {    var name = element.data().name;    return {      status: (value === ""),      message: (value === "" && name + "不能为空")    };  });  return model;})(window.validataForm || {});

调用处

<form id="ValidataForm">  <input data-required="true" data-name="名称" data-type="required" value="">  <input data-required="true" data-name="昵称" data-type="hello">  <button id="Send">提交</button></form><script src="~/js/plugs/jquery-3.3.1.js"></script><script src="~/js/Dictionary.js"></script><script src="~/js/ValidataForm.js"></script><script type="text/javascript">  $("#Send").click(function () {    validataForm.Validata("#ValidataForm");  });</script>

Dictionary这个对象是抄一个博主的
代码附上,内置链接

/* https://www.cnblogs.com/baiyangyuanzi/p/6689554.html *//*字典 Dictionary类*/function Dictionary() {  this.add = add;  this.datastore = new Array();  this.find = find;  this.remove = remove;  this.count = count;  this.clear = clear;}function add(key, value) {  this.datastore[key] = value;}function find(key) {  return this.datastore[key];}function remove(key) {  delete this.datastore[key];}function count() {  /*var ss = Object.keys(this.datastore).length;  console.log("ssss  "+ss);  return Object.keys(this.datastore).length;*/  /**/  var n = 0;  for (var key in Object.keys(this.datastore)) {    ++n;  }  return n;}function clear() {  for (var key in this.datastore) {    delete this.datastore[key];  }}

萌新初试前端,有写得不好的地方,望各位前辈,多多指教。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 相关标签:jquery教程
  • 本文发布HTML5中文学习网 ,转载请注明出处,感谢您!
  • 相关文章


  • 曝网友假装外国人写投诉信 ofo秒退押金并回函致歉
  • 苹果市值缩水逾2000亿美元 遭多家投行下调目标价
  • Asp.net Core与类库读取配置文件信息的方法_实用技巧
  • asp.net在Repeater嵌套的Repeater中使用复选框详解_实用技巧
  • 利用IIS调试ASP.NET网站程序的完整步骤_实用技巧
  • Asp.Net Core轻松学习系列之配置文件_实用技巧
  • ASP.NET 页生命周期概述(小结)_实用技巧
  • 详解ASP.NET Core WebApi 返回统一格式参数_实用技巧
  • 2018年网络流行语有哪些?2018年十大网络流行语盘点
  • 华为首席财务官孟晚舟被暂扣 深圳市政府要求加方立即放人!
  • 独孤九贱(4)_PHP视频教程

    江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

    独孤九贱(5)_ThinkPHP5视频教程

    ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

    独孤九贱(1)_HTML5视频教程

    《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...

    ThinkPHP5实战之[教学管理系统]

    本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

    PHP入门视频教程之一周学会PHP

    所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

    作者信息

    kevin

    永远在学习的路上!

    相关教程

  • javascript初级视频教程 javascript初级视频教程
  • jquery 基础视频教程 jquery 基础视频教程
  • javascript三级联动视频教程 javascript三级联动视频教程
  • 独孤九贱(3)_JavaScript视频教程 独孤九贱(3)_JavaScript视频教程
  • 独孤九贱(6)_jQuery视频教程 独孤九贱(6)_jQuery视频教程
  • 热门教程