前端校验框架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;
},