jQuery formValidator表单验证插件常见问题
1. 如何实现一个控件,根据不同的情况,实现不同的控制?
2. 一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验?
3. 我采用的页面上文字问题的方式,点提交的时候,有校验未通过的,除了文字提示外,还可以再弹出窗口提示吗?
4. 所有校验通过后,我还要再做别的判断可以吗?我自己的判断没有通过可以中断提交吗?
5. 我有一组的checkbox(radiobutton)如何设置校验?
6. 我有2个表单元素,任意一个元素输入东西就算验证通过,如何写代码?比如要求输入中文名字和英文名字任意一个即算校验通过。
7. 一个表单元素校验通过了,但是我想额外再进行其它的校验,出错要自定义错误,如何写代码?
8. 如何让赋了初始值的表单元素默认校验通过?
9. ajaxValidator校验,离开焦点的时候,马上点击提交按钮,这个时候服务器还没有返回怎么办?
10. 我想在表单没有校验通过的时候,弹出第一个没有校验通过元素的错误信息,如何实现?
11. 刚打开页面的时候我不想显示onshow的状态,如何实现这种功能?
12. 在A条件下,某个控件是不检验的,在B条件下,这个控件又是检验的,如何实现?
13. inputValidator校验方式,我想进行更精确的提示,如何写?也就是比最小值小,比最大值大,分开提示。
14. 如何实现自动注册pageIsValid函数?每次都要自己写太麻烦了。
15. 在使用ajaxValidator的时候,服务器端无法获得控件的值,每次都是空,怎么回事?
16. 自动构建提示层功能开启后,发现定位不准确这么办?
17. 为什么报$.formValidator无效的脚本错误。
18. inputValidator除了判断长度外,能不能再对左边空格、右边空格进行判断?
19. inputValidator验证长度的时候,能把全角字符当做一个长度来验证吗?
20. 用户输入正确才能离开焦点,如何设置?
21. 如何设置成调试模式?即验证成功后,不提交数据。
1. 如何实现一个控件,根据不同的情况,实现不同的控制?
你只需要在你的不同种情况下,重新设置你的【一行代码】。例如:
if(条件)
$("#id").formValidator({配置1}).inputValidator({配1});
else
$("#id").formValidator({配置2}).inputValidator({配2});
2. 一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验?
每个Tab页上需要校验的控件,你在写【一行代码】的时候,显式的声明组号。
$.formValidator.initConfig({validatorgroup:"1"});
$.formValidator.initConfig({validatorgroup:"2"});
再在formValidator里显式的声明组号validatorgroup,例如:
$("#id").formValidator({validatorgroup:"2"...}).inputValidator({...});
3. 我采用的页面上文字问题的方式,点提交的时候,有校验未通过的,除了文字提示外,还可以再弹出窗口提示吗?
这个问题很简单,你只要设置改组的全局配置,
jQuery.formValidator.initConfig({onerror:function(){alert("有部分校验没有通过,请看页面具体提示");}})。
4. 所有校验通过后,我还要再做别的判断可以吗?我自己的判断没有通过可以中断提交吗?
同样很简单,你页只需设置该组的全局配置,
jQuery.formValidator.initConfig({onsuccess:function()
{
if(你的额外判断失败)
return false;
else
return true;
}})
5. 我有一组的checkbox(radiobutton)如何设置校验?
你只需在该组的第一个checkbox上设置校验信息即可,具体请参考demo1里的范例
1、如果你该组的第一个控件的ID ,你可以这么写:
$("sex_1").inputValidator({...})
2、如果你只知道该组的name,你可以这么写:
$("input:check[@name='sex']").inputValidator({...})
6. 我有2个表单元素,任意一个元素输入东西就算验证通过,如何写代码?比如要求输入中文名字和英文名字任意一个即算校验通过。
$("#name_cn,#name_en").formValidator({tipid:"IMTip",onshow:"请填写任一种名字)",onfocus:"请请填写任一种名字。",oncorrect:"输入正确!"}).functionValidator({fun:allEmpty});
function allEmpty(val,elem)
{
return ($("#name_cn").val()=="" &&
$("#name_cn").val()=="")?'如果想和客户在线洽谈,请至少填写一种IM软件帐号!':true;
}
7. 一个校验组校验通过了,但是我想额外再进行其它校验,出错要自定义错误,如何写代码?
$("#ewjy").formValidator({
onshow:"无论你输入什么,都会提示你额外校验出错,错误信息自定义",
onfocus:"至少输入一个字符",
oncorrect:"你怎么可能输入正确了,难道是bug?",
).inputValidator({min:1,onerror:"这里至少要一个字符,请确认"}).functionValidator({
if(额外校验失败)
return "额外校验失败的错误信息";
else
return true;
});
8. 如何让赋了初始值的表单元素默认校验通过?
$("#xueli").formValidator({onshow:"请选择你的学历",onfocus:"学历必须选择",oncorrect:"谢谢你的配合",defaultvalue:"b"}).inputValidator({onerror:
"你是不是忘记选择学历了!"}).DefaultPassed();
9. ajaxValidator校验,离开焦点马上点击提交按钮,这个时候如果服务器还没有返回数据怎么办?
新版本的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. 我想在表单没有校验通过的时候,弹出第一个没有校验通过元素的错误信息,如何实现?
onerror有2个参数:第一个“第一个没有校验通过元素的错误信息”;第二个“第一个没有校验通过元素对象”;代码如下设置:
jQuery.formValidator.initConfig({onerror:function(msg){alert(msg);}})。
11. 刚打开页面的时候我不想显示onshow的状态,如何实现这种功能?
如果onshow,onfocus,oncorrect,onerror的内容为空,将不显示该提示内容。
12. 在A条件下,某个控件是不检验的,在B条件下,这个控件又是检验的,如何实现?
if(A条件)
{
$("#sfzh").attr("disabled",true).unFormValidator(true); //解除校验
}
else
{
$("#sfzh").attr("disabled",false).unFormValidator(false);//恢复校验
}
13. inputValidator校验方式,我想进行更精确的提示,如何写?
inputValidator校验方式提供了2个属性,分别为onerrormin和onerrormax.
onerrormin:当用户输入的值比min属性小的时候的错误提示
onerrormax:当用户输入的值比max属性大的时候的错误提示
原onerror属性:当onerrormin或onerrormax不存在的时候,用该属性来提示错误
14. 如何实现自动注册pageIsValid函数?每次都要自己写太麻烦了?
自动注册$.formValidator.pageIsValid()函数,为initConfig添加formid属性,表示表单ID号。
如果formid为空,必须按照老的方法自行判断。
适用环境:如果你只有一个校验组,而且利用表单的submit来提交,你可以配置这个formid参数。
例如:$.formValidator.initConfig({formid:"form1",onerror:function(msg){alert(msg)}});
15. 在使用ajaxValidator的时候,服务器端无法获得控件的值,每次都是空,怎么回事?
请看更新记录
2008/1/22 23:58:57 jQuery formValidator 1.1.2 ver
1、为AjaxValidator添加一个addidvalue属性(是否自动添加id和值到url参数后面)
为了修复AjaxValidator在配置信息的时候,取不到运行时候值的bug
插件将自动在url后面自动添加,形式为"id=value"的网页参数
在服务器端,你可以通过Request.querystring["id"]来取值
具体演示请看demo1里的用户名输入和Default.aspx
2008/3/14 12:16:00 jQuery formValidator
2.2 ver
2、AjaxValidator校验方式,将自动再增加一个参数到请求的地址后面"clientid=触发校验的表单ID"。
如果你是一个jQuery集合做校验,如果用到了AjaxValidator校验方式,在服务器端,你无法知道触发校验的是哪个
表单元素,所以在请求的地址后面追加"clientid=触发校验的表单ID"。
你说的问题就是"在配置信息的时候,取不到运行时候值的bug",你可以参考demo1里用户名的写法
16. 自动构建提示层功能开启后,发现定位不准确这么办?
为formValidator函数添加属性:tipcss,用于定位自动提示层。该属性为标准的css属性申明。
例如:
tipcss:{"top":"1px","left":"20px"}。请注意属性名和值都必须带引号
开启自动构建提示层的情况下,原tipid属性表示相对定位的目标控件的ID号
关闭自动构建提示层的情况下,原tipid属性的意义不变,表示提示层的ID号
17. 为什么报$.formValidator无效的脚本错误?
请先检查是否正确引用了插件的脚本
- 插件脚本是UTF-8编码的,如果你的页面用其它的编码方式,则在引用脚本的时候要显式指明脚本编码方式
<script src="formValidator.js" type="text/javascript" charset="UTF-8"
></script>
18. inputValidator除了判断长度外,能不能再对左边空格、右边空格进行判断?
在新的版本3.1里,为inputValidator设置了empty属性,用于设置控件文本值是否允许两边为空
- 看参看demo1里的密码控件。
$("#password1").formValidator({onshow:"请输入密码",onfocus:"密码不能为空",oncorrect:"密码合法"}).inputValidator({min:1,empty:{leftempty:false,rightempty:false,emptyerror:"密码两边不能有空符号"},onerror:"密码不能为空,请确认"});
19. inputValidator验证长度的时候,能把全角字符当做一个长度来验证吗?
initConfig有个属性:wideword,表示是否把全角字符当做2个长度处理,默认为true。
20. 用户输入正确才能离开焦点,如何设置?
为initConfig增加forcevalid属性;formValidator增加forcevalid属性,表示是否一直输入正确为止才允许离开焦点。 initConfig的forcevalid优先等级最高,即全局配置;而formValidator里的forcevalid是局部设置。
请见demo1邮箱字段的验证。
21. 如何设置成调试模式?即验证成功后,不提交数据。
initConfig里有个属性叫debug,默认false。如果你要调试代码,你可以设置debug为true,校验成功了,也不会提交表单。
jQuery formValidator表单验证插件常见问题的更多相关文章
- jQuery formValidator表单验证插件
什么是jQuery formValidator? jQuery formValidator表单验证插件是客户端表单验证插件. 在做B/S开发的时候,我们经常涉及到很多表单验证,例如新用户注册,填写个人 ...
- jquery formValidator 表单验证插件, ajax无法传值到后台问题的解决
今天使用jquery formValidator-4.0.1 这个插件做表单验证, 前台验证已写好, 准备写ajax验证, 结果无法把值传到后台 .ajaxValidator({ url : & ...
- 【锋利的jQuery】表单验证插件踩坑
和前几篇博文提到的一样,由于版本原因,[锋利的jQuery]表单验证插件部分又出现照着敲不出效果的情况. 书中的使用方法: 1. 引入jquery源文件, 2. 引入表单验证插件js文件, 3. 在f ...
- jquery validate表单验证插件-推荐
1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...
- jquery validate表单验证插件
1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...
- jQuery Validate 表单验证插件----自定义一个验证方法
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...
- jQuery Validate 表单验证插件----自定义校验结果样式
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...
- jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...
随机推荐
- es6语法重构react代码
1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...
- fiddler filter 过滤css 图片等
找到 request header->Show only if yrl contains: REGEX:(?insx)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav ...
- 基于LBS的地理位置附近的搜索以及由近及远的排序
Nosql学习之Redis资料(一) http://redis.io/download 目前基于LBS地理位置的搜索已经应用非常广了,的确是个很方便的东西. 我们做程序的就是要考虑如何通过这些功能,来 ...
- 数字根(digital root)
来源:LeetCode 258 Add Dights Question:Given a non-negative integer num , repeatedly add all its digi ...
- 如何进行oracle capability i/o(压力测试数据库服务器i/o性能)
一 .oracle 有关 IO 信息的相关统计函数 Oracle i/o stack包含hbas,存储相关的交换机.存储物理磁盘.那么oracle建议在应用程序部署的时候,建议去验证i/o避免存在问题 ...
- Httpservlet cannot be resolved to a type的原因与解决方法
刚开始学习Servlet,在Eclipse中新建了一个Servlet,不过页面上报错: Httpservlet cannot be resolved to a type,显然是Eclipse找不到相应 ...
- ios外包公司——技术分享:IOS开发教程
iOS入门培训,适合已经有C/C++/Java/C#基础的人学习. 本大仙主讲,总共4讲(第4讲尚在制作中),这仅仅是iOS开发的入门而已.学完本教程,应该已经足够你自学并开发app了. ...
- jQuery实现登录提示
实现效果:将鼠标聚焦到邮箱地址文本框时,文本框 内的"请输入邮箱地址"文字将被清除: 若没有输入任何内容,鼠标移除后邮箱地址文本框被还原. <!DOCTYPE html& ...
- bootstrap中datetimepicker只选择月份显示1899问题
直接修改bootstrap-datetimepicker.js中 update: function () { var date, fromArgs = false; if (arguments &am ...
- bzoj2044: 三维导弹拦截
Description 一场战争正在A国与B国之间如火如荼的展开. B国凭借其强大的经济实力开发出了无数的远程攻击导弹,B国的领导人希望,通过这些导弹直接毁灭A国的指挥部,从而取得战斗的胜利!当然,A ...