zhishudali

导航

前端校验框架ValidForm之check方法修正

用过validform的朋友相信都知道,在利用check方法的时候,发现该方法对表单输入值只要符合datatype规则的就返回ture。那么我们想对某个字段进行ajax重复校验的时候,只需要在该表单元素添加ajaxurl就可以了,但是check方法并没有对ajaxurl返回过来的值进行捕捉,即ajaxurl返回{status:no}的情况下,只有其他校验都通过,check返回的结果都是true。这样一来,利用check方法的人就希望能修复这个问题。在此我提供了个人的方法对框架进行了改动,希望帮到大家,完善号称“一行代码校验的框架”。

 

改动方法(绿色部分为添加代码,只需要添加绿色代码至Validform_v5.3.2.js文件的这个位置就可以了):

check:function(bool,selector){
   /*
    bool:传入true,只检测不显示提示信息;
   */
   
   var selector=selector || "[datatype]",
    obj=this,
    curform=$(obj.forms),
    flag=true;
   
   curform.find(selector).each(function(){
    Validform.util.check.call(this,curform,"",bool) || (flag=false);
   });
   
   if($(".Validform_wrong").length>0||$(".Validform_error").length>0){
    flag=false;
   }
   
   return flag;
  },

posted on 2018-06-14 10:39  quickman  阅读(166)  评论(0编辑  收藏  举报