使用validform怎么实现表单验证

  

今天就跟大家聊聊有关使用validform怎么实现表单验证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

validateform.js简单使用方法

1.datatype

要想标识出来想要验证的对象,我们就需要给这个对象绑定datatype属性,validform.js已经内置了10种验证格式,如果不够,我们还可以使用

http://validform.rjboy.cn/Validform/Validform_Datatype.js

来对验证格式进行扩展。

1.1 datatype=*

这个验证是用来表示当前的对象不能为空的,任何字符均可

1.2 datatype=*6-16

validform这个js有个优点,它会自动扩展你所写的验证格式。不同的字段我们可能要求的字符数量不一样,用户名这里你写了*6-16,要求用户填入6到16位的字符。可标题这里又要求填入2到5个字符,难道我们要在验证格式这里再写一个*2-5吗?不用!形如"*6-16"的datatype,Validform会自动扩展,可以指定任意的数值范围。如内置基本类型有"*6-16",那么你绑定 datatype="*4-12"就表示4到12位任意字符。如果你自定义了一个datatype="zh3-4",表示2到4位中文字符,那么 datatype="zh3-6"就表示2到6位中文字符。

1.3 datatype=url

可以用来验证网址。

1.4 datatype=e

可以用来验证电子邮箱地址

1.5 datatype=m

用来验证手机号,但是给的正则表达式有问题,对于新出现的177号段之类的没有加入进去,这块需要注意一下。

1.6 其他注意事项

datatype支持规则累加或单选。用","分隔表示规则累加;用"|"分隔表示规则多选一,即只要符合其中一个规则就可以通过验证,绑定的规则会依次 验证,只要验证通过,后面的规则就会忽略不再比较。如绑定datatype="m|e",表示既可以填写手机号码,也能填写邮箱地址,如果知道填入的是手 机号码,那么就不会再检测他是不是邮箱地址;datatype="zh,s2-4",表示要符合自定义类型"zh",也要符合规则"s2-4"。

直接绑定正则:如可用这样写datatype="/\w{3,6}/i",要求是3到6位的字母,不区分大小写;
支持简单的逻辑运算:如datatype="m | e, *4-18 |/\w{3,6}/i |/^validform\.rjboy\.cn$/",
这 个表达式的意思是:可以是手机号码;或者是邮箱地址,但字符长度必须在4到18位;或者是3到6位的字母,不区分大小写;或者输入 validform.rjboy.cn,区分大小写。这里","分隔相当于逻辑运算里的"&&"; "|"分隔相当于逻辑运算里的"||";不支持括号运算。

2.ignore

绑定了ignore="ignore"的表单元素,在有输入时,会验证所填数据是否符合datatype所指定数据类型,没有填写内容时则会忽略对它的验证;

如何在表单中控制如果某几项要填都填,要不填都不填。

对这几项赋给相同的class 比如AllNeedOrEmpty

之后在初始化参数中的beforeCheck部分对这个class做操作,具体代码如下

beforeCheck: function(curform) {
  美元才能(“# sliderAd  ul") . each(函数(),{
  ,,,var  needIgnore =,真的;
  ,,,var  _this =,美元(这);
  ,,,var  checkList =, _this.find(“输入[类*=AllNeedOrEmpty]“);
  ,,,checkList.each(函数(),{
  ,,,,,var  that =,美元(这);
  ,,,,,if  (that.val (), !=,““), {
  ,,,,,,,checkList.each(函数(),{
  ,,,,,,,,,(这).removeAttr美元(“ignore");
  ,,,,,,,});
  ,,,,,,,needIgnore =,假;
  ,,,,,}
  ,,,});
  ,,,if  (needIgnore), {
  ,,,,,checkList.each(函数(),{
  ,,,,,,,(这).attr美元(“ignore",,“ignore");
  ,,,,,});
  ,,,}
  ,,});
  },

上面的代码只是提供一个思路,肯定有更好的方法,

比如使用validform对象中的忽略方法和unignore方法,通过向这两个方法传入表单元素来忽略和重新获取验证效果。

不过这两种方法是对元素赋给和去掉dataIgnore来实现验证与否。

源码如下:

忽略:,函数(选择),{   ,,,var  obj =,;   ,,,var  selector =, selector  | |,“(数据类型),      ,,,(obj.forms);美元(选择). each(函数(),{   ,,,,,(这). data美元(“dataIgnore",,“dataIgnore") .removeClass (“Validform_error");   ,,,});      ,,,return ;   ,,},      unignore才能:函数(选择),{   ,,,var  obj =,;   ,,,var  selector =, selector  | |,“(数据类型),      ,,,(obj.forms);美元(选择). each(函数(),{   ,,,,,(这).removeData美元(“dataIgnore");   ,,,});      ,,,return ;   ,,},

使用validform怎么实现表单验证