我们从事的工作中一般很少涉及到UI的部分,之前我对UI实在是了解的非常少,总想把UI的这部分的缺陷补上来,所有打
算抽点时间学习下jquery。
在web开发中,表单验证应该是一个常见的校验之一,关于jquery表单验证这方面的资料也非常的丰富。在这里采用的是
jquery表单的校验框架。
一个简单的表单提交,通过jquery框架来校验表单字段。
实现该功能可以分为以下几步:
1.导入相关的js文件
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript" src="formValidator-4.0.1.js"></script>
<script type="text/javascript" src="formValidatorRegex.js"></script>
<script type="text/javascript" src="DateTimeMask.js"></script>
<link type="text/css" rel="stylesheet" href="style/validator.css"></link>
2.初始化表单校验方法
$(document).ready(function() {
$.formValidator.initConfig({
formID : "form1",
debug : false,
submitOnce : true,
onError : function(msg, obj, errorlist) {
$("#errorlist").empty();
$.map(errorlist, function(msg) {
$("#errorlist").append("<li>" + mgs + "</li>");
});
},
submitAfterAjaxPrompt : '有数据正在异步验证,请稍等...'
});
3.编写校验的字段信息
例如年龄校验:
$("#age").formValidator({
autoModify : true,
onShow : "请输入的年龄(1-99岁之间)",
onFocus : "只能输入1-99之间的数字哦",
onCorrect : "恭喜你,你输对了"
}).inputValidator({
min : 1,
max : 99,
type : "value",
onErrorMin : "你输入的值必须大于等于1",
onError : "年龄必须在1-99之间,请确认"
}).defaultPassed();
如果是电话号码校验,可以采用正则表达式。
$("#lxdh").formValidator({
empty : true,
onShow : "请输入你的联系电话,可以为空哦",
onFocus : "格式例如:0755-88888888",
onCorrect : "谢谢你的合作",
onEmpty : "你真的不想留联系电话了吗?"
}).regexValidator({
regExp : "^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$",
onError : "你输入的联系电话格式不正确"
});
关于表单校验中的相关属性说明
juery formvalidator插件 API帮助文档
目前支持4种大的校验方式,分别是:InputValidator(针对input、textarea、select控件)、CompareValidator、AjaxValidator、RegexValidator、FunctionValidator 每种格式支持的控件类型如下:
|
input |
textarea |
select |
校验方式 |
text |
radio |
checkbox |
file |
password |
textarea |
select-one |
InputValidator |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
CompareValidator |
√ |
|
|
√ |
√ |
√ |
|
AjaxValidator |
√ |
|
|
√ |
√ |
√ |
√ |
RegexValidator |
√ |
|
|
√ |
√ |
√ |
|
FunctionValidator |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
如果你用了不支持的校验功能,插件将忽略这个校验功能。 |
插件目前提示错误,有两种模式:showword和showalert,即文字提示和窗口提示,下面的5大验证方式,针对showalert这种方式不是都必须的,有些配置是没有作用的 下面分别罗列全局初始化和5种校验方式公开的属性
|
formValidator: |
用来做初始化的类型,必须先执行 |
属性 |
属性名称 |
默认值 |
showword |
showalert |
详细解释 |
validatorGroup |
校验组 |
"1" |
√ |
√ |
一个页面的控件可以分成多个组,分开校验 |
empty |
是否可以为空 |
false |
√ |
√ |
|
automodify |
输入错误离开焦点的时候,自动修复错误 |
false |
√ |
√ |
先给出提示然后,自动修复,目前只支持text、file、textarea三种类型 |
onempty |
空时候的提示 |
"输入内容为空" |
√ |
|
可以为空,为空时候的提示 |
onshow |
显示时候的提示 |
"请输入内容" |
√ |
|
|
onfocus |
获得焦点的提示 |
"请输入内容" |
√ |
|
|
oncorrect |
输入正确后的提示 |
"输入正确" |
√ |
|
当你焦点离开控件的时候,如果输入正确将出现该提示 |
onvalid |
校验通过后的回调函数 |
null |
√ |
√ |
参数1:对象本身 参数2:值 校验通过后,你还希望执行一些操作,你可以通过这个属性来执行。 |
onfocusevent |
获得焦点后要追加的回调函数 |
null |
√ |
√ |
参数1:对象本身 |
onblurevent |
失去焦点后要追加的回调函数 |
null |
√ |
√ |
参数1:对象本身 |
tipid |
显示错误的容器ID |
表单ID+"Tip" |
√ |
|
|
defaultvalue |
默认值 |
null |
√ |
√ |
所有input和select表单。如果你不设置就保持原值,一旦设置就设为默认值。 |
|
|
|
|
|
InputValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
type |
比较类型 |
"size" |
(对select无效)"size":表示比较长度 "value":比较值。 |
min |
最小长度/值 |
0 |
(对select无效) |
max |
最大长度/值 |
99999999999999 |
(对select无效) |
onerror |
发生错误的提示 |
"输入错误" |
|
defaultvalue |
默认值 |
null |
能满足预设默认值的需求 |
|
|
|
|
|
CompareValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
desID |
要比较控件的ID |
"" |
要跟源目标进行比较的目标ID |
operateor |
比较符号 |
"=" |
一共有如下几种类型:=、!=、>、>=、<、<= |
datatype |
数据类型 |
"string" |
目前只支持2种:"string"、"number" |
onerror |
发生错误的提示 |
"输入错误" |
|
|
|
|
|
|
RegexValidator: |
|
属性 |
属性名称 |
默认值 |
详细解释 |
regexp |
正则表达式 |
"" |
采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'\' 被用作转义字符,所以在使用显示构造函数构造实例对象的时候,需要使用'\\' 代替'\' |
param |
附加参数 |
"i" |
g:代表可以进行全局匹配。 i:代表不区分大小写匹配。 m:代表可以进行多行匹配。 可以任意组合,当然也可以不加参数 |
datatype |
数据类型 |
"string" |
"string":自己写的表达式,"enum":枚举名。具体请见demo3.htm,你可以自己修改附加pageValidatorRegex.js里的枚举项目名和表达式。 |
onerror: |
发生错误的提示 |
"输入错误" |
|
|
|
|
|
|
AjaxValidator: |
几乎所有的属性跟$.ajax()的属性一样,请参考$.ajax()函数的帮助 |
属性 |
属性名称 |
默认值 |
详细解释 |
type |
请求的类型 |
"GET" |
"POST" 或 "GET" |
url |
发送到的URL地址 |
"" |
|
datatype |
返回的数据类型 |
"html" |
xml、html、script、json |
data |
数据 |
"" |
|
async |
是否以异步的方式发送 |
true |
|
success |
当请求成功时调用的函数 |
null |
|
processdata |
自动处理返回的数据为字符串 |
true |
在默认的情况下,如果data选项传进的数据是一个对象而不是字符串,将会自动地被处理和转换成一个查询字符串 |
complete |
当请求完成时调用的函数 |
null |
|
beforesend |
当请求前时调用的函数 |
null |
|
error |
当请求失败时调用的函数 |
"请求失败" |
你可以自己定义这个错误,在error里自动打出 |
|
|
公共函数: |
主要是设置全局参数和判断是否通过校验 |
函数名 |
函数说明 |
jQuery.formValidator.initConfig |
参数:配置类型
属性 |
默认值 |
说明 |
validatorGroup |
"1" |
你要针对哪个组进行配置 |
alertMessage |
false |
是否弹出窗口 |
onSuccess |
null |
该组校验通过后的回调函数,返回false,阻止表单的提交 |
submitOnce |
false |
校验通过后,是否灰掉所有的提交按钮 |
onError |
null |
该组校验失败后的回调函数 |
|
jQuery.formValidator.PageIsValid |
一个参数: 不是配置类型
validatorGroup |
"1" |
你要针对哪个组进行验证 |
|
jQuery.formValidator.IsOneValid |
一个参数: 当时设置验证的表单元素ID。 返回是否校验成功的信息。 |
jQuery.formValidator.SetFailState |
function("tipid","显示的信息") 在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态 |
jQuery.formValidator.GetLength |
function("表单元素id") 判断表单元素的选择长度(个数) checkbox或radiobutton表示选择的个数。 select表示选择的selectedIndex值。 其它的表示字符长度。 |
|
|
|
|
|
问答: |
|
|
|
1、如何实现一个控件,根据不同的情况,实现不同的控制? |
你只需要在你的不同种情况下,重新设置你的【一行代码】 |
|
2、一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验? |
每个Tab页上需要校验的控件,你在写【一行代码】的时候,显示的声明组号 |
|
3、我采用的页面上文字问题的方式,点提交的时候,有校验未通过的,除了文字提示外,还可以再弹出窗口提示吗? |
这个问题很简单,你只要设置改组的全局配置, jQuery.formValidator.initConfig({onError:function(){alert("有部分校验没有通过,请看页面具体提示");}}) |
|
4、所有校验通过后,我还要再做别的判断可以吗?我自己的判断没有通过可以中断提交吗? |
同样很简单,你页只需设置该组的全局配置, jQuery.formValidator.initConfig({onSuccess:function() { if(你的额外判断失败) return false; else return true; }})
|
|
5、我有一组的checkbox(radiobutton)如何设置校验? |
你只需在该组的第一个checkbox上设置校验信息即可,具体请参考demo1里的范例 如果你该组的第一个控件的ID ,你可以这么写:$("sex_1").InputValidator({...}) 如果你只知道该组的name,你可以这么写:$("input:check[@name='sex']").slice(0,1).InputValidator({...}) |
|
6、我有2个表单元素,任意一个元素输入东西就算验证通过,如何写代码?比如要求输入中文名字和英文名字任意一个即算校验通过。 |
正在开发这个功能 |
|
7、一个表单元素校验通过了,但是我想额外再进行其它的校验,出错要自定义错误,如何写代码? |
$("#ewjy").formValidator({onshow:"无论你输入什么,都会提示你额外校验出错,错误信息自定义",onfocus:"至少输入一个字符",oncorrect:"你怎么可能输入正确了,难道是bug?",onvalid:function(){$.formValidator.SetFailState("ewjyTip","额外校验失败");alert("额外校验失败");return false;}}).InputValidator({min:1,onerror:"这里至少要一个字符,请确认"}); |
|
8、如何让赋了初始值的表单元素默认校验通过 |
$("#xueli").formValidator({onshow:"请选择你的学历",onfocus:"学历必须选择",oncorrect:"谢谢你的配合",defaultvalue:"b"}).InputValidator({onerror: "你是不是忘记选择学历了!"}).DefaultPassed(); |
|
|
|
|
|
|
|
|
|
|
分享到:
相关推荐
Java Web Jquery表单验证 jQuery是一个流行的JavaScript库,可用于在网页上进行各种操作,包括表单验证。 1、将基于Jquery的表单验证的调查问卷分为四个部分:FrontPage.html、write.html、end.html、style.css。 1...
jQuery Validation Engine 是一个功能强大的表单验证插件,以其简单易用和丰富的自定义选项而受到开发者的青睐。 ## 1. jQuery Validation Engine 插件简介 jQuery Validation Engine 是一款基于 jQuery 库的验证...
在这个“jquery会员注册表单验证实例演示”中,我们将深入探讨如何利用jQuery来实现用户友好的表单验证,从而提高用户...通过实践和学习压缩包内的代码,你可以加深对jQuery表单验证的理解,并将其应用于自己的项目中。
总之,jQuery提供了强大的工具来简化表单验证的实现,通过结合DOM操作、事件处理和正则表达式,我们可以创建出功能完善、用户体验良好的用户注册表单。这个小项目可以帮助你深入理解这些概念,并实践在实际项目中。
### jQuery表单验证插件详解 #### 一、概述 jQuery表单验证插件是一种用于简化Web表单处理过程的强大工具。它不仅能够帮助开发者轻松地实现表单数据的Ajax提交,还支持文件上传等功能,极大地提升了用户体验并降低...
在"JQuery实现表单验证"的案例中,描述中提到有五种不同的提示方式,这些可能包括错误消息的显示位置、样式、动画效果等,以满足多样化的用户体验需求。 以下是使用JQuery进行表单验证的基本步骤: 1. **选择器与...
《jQuery表单验证详解》 在Web开发中,表单验证是不可或缺的一部分,它能确保用户输入的数据符合预设的规则,从而保护服务器免受不合法数据的影响,提高用户体验。jQuery,作为一款广泛使用的JavaScript库,提供了...
以上就是jQuery Validate的基本使用和核心概念,通过熟练掌握这些,你可以轻松实现高效且用户友好的表单验证。记住,始终要关注用户体验,避免过于繁琐的验证过程,同时确保数据安全性和准确性。
jQuery表单验证插件** jQuery有许多优秀的表单验证插件,例如jQuery Validation Plugin。这个插件提供了丰富的验证规则和自定义错误消息功能。通过简单的配置,可以实现各种复杂的验证需求。 **4. 验证规则** - **...
jQuery作为一个强大的JavaScript库,提供了简单易用的API来进行表单验证。本实例将深入探讨如何利用jQuery实现网站会员注册表单的验证,并在用户提交form表单时进行有效控制。 首先,我们需要理解jQuery的核心概念...
总结来说,jQuery在创建一个完整的注册表单验证系统中发挥着重要作用,它提供了便捷的DOM操作和事件处理机制,帮助开发者轻松地实现前端验证,提升用户体验。结合适当的后端交互,我们可以构建出一个安全、友好的...
1. **基本概念**:jQuery表单验证的核心是通过监听用户的交互行为,如表单提交或输入字段失去焦点时,检查输入数据是否符合预设规则。这些规则可能包括必填项、邮箱格式、手机号码格式等。 2. **jQuery验证插件**:...
总的来说,这个jQuery网页注册表单验证代码提供了一个直观的起点,帮助开发者快速构建具有实时反馈的表单验证。它强调了前端验证的重要性,并展示了如何利用jQuery的便利性来提高效率。通过理解和实践这个代码,你...
### Jquery.validate表单验证详解 #### 一、引言 在Web开发中,表单验证是确保数据质量的关键步骤。传统的JavaScript表单验证方法往往冗长且难以维护,而jQuery Validate插件则以其简洁、高效及易于扩展的特性成为...
总的来说,这个压缩包提供了一个实用的jQuery表单验证解决方案,它利用`focus`和`blur`事件进行实时验证,帮助开发者创建更加健壮和用户友好的表单交互体验。通过学习和实践,你可以掌握如何根据自己的需求定制验证...
总结来说,通过结合jQuery的事件处理、JavaScript的正则表达式以及合理的前端设计,我们可以构建出一个既美观又实用的实时注册表单验证系统。在实际开发中,还应考虑如何处理异步验证(如检查用户名是否已存在)以及...
本项目是关于使用jQuery制作一个动态表单验证代码插件,这在网页开发中是非常实用的技能,可以提升用户体验,确保用户在提交表单前输入的数据符合预期格式。 首先,我们要理解表单验证的重要性。在Web应用中,表单...
总的来说,jQuery+Validation的组合为前端开发提供了一种强大的表单验证解决方案,既提高了开发效率,也提升了用户的使用体验。通过熟练掌握这一技术,开发者可以更好地控制表单输入,确保数据的质量和一致性。