宝哥软件园

jquery验证自定义验证方法日期验证简介

编辑:宝哥软件园 来源:互联网 时间:2021-11-10

jquery validate中有很多验证规则,但更多时候,需要根据具体情况定制验证规则。让我们谈谈jquery validate的自定义验证。Jquery validate有一个允许用户自定义验证规则的方法。案例一:复制代码如下://用户自定义验证$。validator . addmethod(' is positive ',function (value,element){ var score=/[0-9]* $/;返回this . optional(element)| |(score . test(value));},' font color='#E47068 '请输入大于0的数字/font ');用户可以通过addMethod自定义自己的验证规则。这个方法有三个参数。第一个参数表示验证规则的名称,它是肯定的,表示它是否是正数。第二个参数是真实的验证主体,是一个函数。函数的第一个值表示调用验证规则的表单的值,第二个元素可以用来判断是否为空。如果为空,将不会调用验证规则。第三个参数是返回的错误提示。具体怎么用?实际上,它与jquery validate的固有验证规则相同。复制的代码如下: tr bgcolor=' # f7f 7f 7 ' height=' 43 ' align=' right ' TD class=' font 14 _ spdr _ 12 grey _ 70 '总分为3360/TD TD TD class=' font 14 _ s pl40 ' align=' left '输入类型=' text ' id=' full score ' name=' full score ' style=' margin-left 3360 10px;margin-right : 2px;value='!-{$ a考试。full score }--' class='必选数字为正input _ 233 '/TD/tr如上图,粗体处是使用的方法,有三个验证规则,一个是必选,一个是数字,一个是自定义验证规则。效果图如下:

案例2:提交表单时,经常需要验证日期,例如,结束时间必须晚于开始时间。此时,您可以通过jquery validate定制一个验证方法进行验证。方法如下:复制代码如下: $。validator.addmethod ('collated ',function (value,element){ var assign time=$(' # assign time ')。val();var deal inetime=$(' # deal inetime ')。val();var reg=new RegExp('-',' g ');assign time=assign time . replace(reg,'/');//定期更换截止时间=截止时间。替换(reg,'/');assigntime=新日期(parsent(Date . parse(assign time),10));死亡时间=新日期(parsent(Date . parse(死亡时间),10));if(assignimedadlinetime){ return false;} else { return true} },' font color='#E47068 '结束日期必须晚于开始日期/font ');上面代码的红色部分是将时间字符串处理成2013/12/12/08:09:00的标准格式。处理时使用replace的方法,最后和正则表达式结合,也就是第一行的reg对象。更换后,如果我们比较时间呢?有三个过程:1。将标准时间转换为时间戳,并通过Date.parse()进行处理。2.将时间戳转换为整数,并确保它由parseInt(',10)处理,以防万一。3.将时间戳更改为日期对象新日期()。转换成物体后,可以对比时间,直接判断。如果结束时间小于开始时间,您将给出错误提示。此时,可以像其他jquery validate验证规则一样验证compare。案例3: ajax验证去数据库验证用户名是否存在,这也是经常使用的。副本代码如下: $。验证器。addmethod ('checkuser exist ',function (value,element){ var user=value;$.ajax({ type:'POST ',async:false,URL : '/default/index/Ajax/do/Ajax checkuser ',data:'nick=' user,success : function(response){ if(response){ RES=false;} else { res=true} } });返回res},' font color='#E47068 '用户名已经存在/font ');后台验证码:复制的代码如下: case ' ajaxcheckuser ' : $ nick=trim($ this-_ getparam(' nick ');if(isset($ nick)){ $ where[' LX _ user . nick=?']=数组(' type'=1,' val '=$ nick);$ aUser=$ Dao user-getUser($ where);if(count($ aUser)=1){ echo TRUE;} else { echo FALSE} } else { echo FALSE} break如果它存在于数据库中,则返回true。

更多资讯
游戏推荐
更多+