资讯专栏INFORMATION COLUMN

Validate 表单验证插件

PAMPANG / 1882人阅读

var Validate = function(el, rule, msg) {
  this.el = el;
  this.rule = rule;
  this.msg = msg;
};

Validate.prototype.validate = function() {
  var el = this.el, rule = this.rule, msg = this.msg, v = el.value, pass, i = 0;
  
  while(rule.length !== i) {
    pass = rule[i](v);
    if (!pass) {
      this.failed(msg[i]);
      return this;
    }
    i++;
  }
  
  this.success();
  return this;
};

window.onload = function() {
  var u = document.getElementById("username");
  var rule = {
    notempty : function(v) {
      return v !== "";
    },
    name: function(v) {
      return /^[w|·|。|•|.|.|(u4e00-u9fa5)]{2,20}$/.test(v);
    }
  };
  
  var username = new Validate(u, [rule.notempty, rule.name], ["不能为空", "请输入正确的用户名"]);
  username.failed = function(msg) {
    var el = this.el,
      parent = el.parentNode,
      require = parent.querySelector(".require"),
      errtip = parent.querySelector(".errtip"),
      textnode = document.createTextNode(msg),
      span = document.createElement("span");
    
    if (errtip) {
      errtip.style.display= "inline";
      errtip.innerHTML = msg;
      return this;
    } 
    
    span.appendChild(textnode);
    span.classList.add("errtip"); span.style.color = "red";
    parent.insertBefore(span, require.nextElementSibling);
    return this;
  };
  
  username.success = function() {
    var el = this.el;
    var errtip = el.parentNode.querySelector(".errtip");
    if (errtip) {
      errtip.innerHTML = "";
      errtip.style.display = "none";
    }
    return this;
  }
  username.validate();
  window.username = username;
};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78753.html

相关文章

  • 写一个简单易用可扩展vue表单验证插件(vue-validate-easy)

    摘要:写一个表单验证插件需求目标简单易用可扩展如何简单开发者要做的写了一个表单,指定一个,指定其验证规则。调用提交表单方法,可以获取验证成功后的数据。 写一个vue表单验证插件(vue-validate-easy) 需求 目标:简单易用可扩展 如何简单 开发者要做的 写了一个表单,指定一个name,指定其验证规则。 调用提交表单方法,可以获取验证成功后的数据。 调用重置表单方法重置表单 自...

    ISherry 评论0 收藏0
  • 写一个简单易用可扩展vue表单验证插件(vue-validate-easy)

    摘要:写一个表单验证插件需求目标简单易用可扩展如何简单开发者要做的写了一个表单,指定一个,指定其验证规则。调用提交表单方法,可以获取验证成功后的数据。 写一个vue表单验证插件(vue-validate-easy) 需求 目标:简单易用可扩展 如何简单 开发者要做的 写了一个表单,指定一个name,指定其验证规则。 调用提交表单方法,可以获取验证成功后的数据。 调用重置表单方法重置表单 自...

    keke 评论0 收藏0
  • 写一个简单易用可扩展vue表单验证插件(vue-validate-easy)

    摘要:写一个表单验证插件需求目标简单易用可扩展如何简单开发者要做的写了一个表单,指定一个,指定其验证规则。调用提交表单方法,可以获取验证成功后的数据。 写一个vue表单验证插件(vue-validate-easy) 需求 目标:简单易用可扩展 如何简单 开发者要做的 写了一个表单,指定一个name,指定其验证规则。 调用提交表单方法,可以获取验证成功后的数据。 调用重置表单方法重置表单 自...

    ccj659 评论0 收藏0
  • jQuery Validate 表单验证之强大插件

    摘要:返回为真,表示需要验证。注意在文件中添加只能包括中文字英文字母数字和下划线。中文名称返回类型描述验证所选的。检查是否验证通过。提交表单后,未通过验证的表单第一个或提交之前获得焦点的未通过验证的表单会获得焦点。 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 ...

    zorpan 评论0 收藏0
  • 实用的表单验证插件--jquery Validation

    摘要:默认值原生的表单提交类型表单验证通过后提交表单的回调函数。使用去控制这个组的验证信息被放置的位置。例子禁用对焦验证。他的回调函数被传入两个参数类型元素这个元素是当前正在被验证的,是一个元素。此函数的上下午为验证对象本身。 Validation文档翻译 前言 Validation作为表单验证中最常用的插件,为我在开发过程中提供了很多便利的地方。虽然说我很常用,但是我真的不敢说我会用Val...

    eccozhou 评论0 收藏0
  • js插件使用:jQuery-Validate 表单验证插件的使用

    摘要:使用下载后包中的或者就是简体中文的消息语言包引入和开始使用默认校验规则必须输入的字段。使用方法调用验证输入值。日期校验出错,慎用。必须输入合法的信用卡号。输入拥有合法后缀名的字符串上传文件的后缀。 业务上需要进行验证判断,感觉一个一个写太麻烦,于是乎在网上搜索到jQuery-Validate这个表单插件 首先需要引入jquery包 在https://jqueryvalidation....

    wenyiweb 评论0 收藏0

发表评论

0条评论

PAMPANG

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<