FAQ

常见问题

  1. 如何实现一个控件,根据不同的情况,实现不同的控制?
  2. 一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验?
  3. 我采用的页面上文字问题的方式,点提交的时候,有校验未通过的,除了文字提示外,还可以再弹出窗口提示吗?
  4. 所有校验通过后,我还要再做别的判断可以吗?我自己的判断没有通过可以中断提交吗?
  5. 我有一组的checkbox(radiobutton)如何设置校验?
  6. 我有2个表单元素,任意一个元素输入东西就算验证通过,如何写代码?比如要求输入中文名字和英文名字任意一个即算校验通过。
  7. 一个表单元素校验通过了,但是我想额外再进行其它的校验,出错要自定义错误,如何写代码?
  8. 如何让赋了初始值的表单元素默认校验通过?
  9. AjaxValidator校验,离开焦点的时候,马上点击提交按钮,这个时候服务器还没有返回怎么办?
  10. 我想在表单没有校验通过的时候,弹出第一个没有校验通过元素的错误信息,如何实现?

1. 如何实现一个控件,根据不同的情况,实现不同的控制?[top]

    你只需要在你的不同种情况下,重新设置你的【一行代码】。例如:

if(条件)
        $("#id").formValidator({配置1}).InputValidator({配1});
else
        $("#id").formValidator({配置2}).InputValidator({配2});

2. 一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验?[top]

    每个Tab页上需要校验的控件,你在写【一行代码】的时候,显式的声明组号。
    $.formValidator.initConfig({validatorGroup:"1"});
    $.formValidator.initConfig({validatorGroup:"2"});
    再在formValidator里显式的声明组号validatorGroup,例如:
    $("#id").formValidator({validatorGroup:"2"...}).InputValidator({...});

3. 我采用的页面上文字问题的方式,点提交的时候,有校验未通过的,除了文字提示外,还可以再弹出窗口提示吗?[top]

    这个问题很简单,你只要设置改组的全局配置,
jQuery.formValidator.initConfig({onError:function(){alert("有部分校验没有通过,请看页面具体提示");}})。

4. 所有校验通过后,我还要再做别的判断可以吗?我自己的判断没有通过可以中断提交吗?[top]

同样很简单,你页只需设置该组的全局配置,
jQuery.formValidator.initConfig({onSuccess:function()
{
        if(你的额外判断失败)
                return false;
        else
                return true;
}})

5. 我有一组的checkbox(radiobutton)如何设置校验?[top]

    你只需在该组的第一个checkbox上设置校验信息即可,具体请参考demo1里的范例
1、如果你该组的第一个控件的ID ,你可以这么写:
$("sex_1").InputValidator({...})
2、如果你只知道该组的name,你可以这么写:
$("input:check[@name='sex']").slice(0,1).InputValidator({...})

6. 我有2个表单元素,任意一个元素输入东西就算验证通过,如何写代码?比如要求输入中文名字和英文名字任意一个即算校验通过。[top]

    正在开发这个功能

7. 一个校验组校验通过了,但是我想额外再进行其它校验,出错要自定义错误,如何写代码?[top]

$("#ewjy").formValidator({
    onshow:"无论你输入什么,都会提示你额外校验出错,错误信息自定义",
    onfocus:"至少输入一个字符",
    oncorrect:"你怎么可能输入正确了,难道是bug?",
    onvalid:function()
    {
            $.formValidator.SetFailState("ewjyTip","额外校验失败");
            alert("额外校验失败");
            return false;
    }}).InputValidator({min:1,onerror:"这里至少要一个字符,请确认"});

8. 如何让赋了初始值的表单元素默认校验通过?[top]

    $("#xueli").formValidator({onshow:"请选择你的学历",onfocus:"学历必须选择",oncorrect:"谢谢你的配合",defaultvalue:"b"}).InputValidator({onerror: "你是不是忘记选择学历了!"}).DefaultPassed();

9. AjaxValidator校验,离开焦点马上点击提交按钮,这个时候如果服务器还没有返回数据怎么办?[top]

    新版本的AjaxValidator提供了一个配置参数buttons(你点提交的按钮(组)jQuery对象),如果你触发了ajax校验,buttons里对应的按钮就会灰掉,一直等待服务器返回数据为止。例如:
$("#test1").formValidator({...}).InputValidator({...}).AjaxValidator({
    url : "Default.aspx",
    datatype : "json",
    success : function(data){...},
    buttons: $("#button_id"),
    error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
    onerror : "该用户名不可用,请更换用户名重新",
    onwait : "正在对用户名进行合法性校验,请稍候..."
});

10. 我想在表单没有校验通过的时候,弹出第一个没有校验通过元素的错误信息,如何实现?[top]

    onError有2个参数:第一个“第一个没有校验通过元素的错误信息”;第二个“第一个没有校验通过元素对象”;代码如下设置:
jQuery.formValidator.initConfig({onError:function(msg){alert(msg);}})。