表单保持原值返回php,jquery中formValidator表单验证插件

本文介绍了jQuery formValidator插件在表单验证中的应用,包括如何加载相关文件、书写验证规则及其各种验证方式的详细参数。通过示例代码展示了如何设置验证组、验证类型和错误提示,帮助开发者更方便地实现客户端表单验证。
摘要由CSDN通过智能技术生成

在jquery中表单验证不但可以使用最简单的像以前原生态的js验证之外,我们还可以使用jquery中formValidator表单验证插件来验证表单,这个的功能强大并提供了大量函数不需要我去写了,下面我来分享一下我的学习笔记吧。

jQuery

formValidator表单验证插件是一款客户端表单验证插件。第一次接触jQuery

formValidator是学习phpcms的时候,因为其在表单验证方面功能强大,且使用简单,所以我在做网站开发时常常用到。在WBlog中涉及到写入数据时总是少不了jQuery

formValidator的验证。这里主要介绍jQuery formValidator使用方法。

下面我就用WBlog安装包install.php的例子来说明jQuery formValidator的使用方法。

一、加载jQuery formValidator的相关文件

代码如下

复制代码

2

把上面文件加载代码放在

之间。其中jquery-1.4.3.min.js和formvalidator.js是必需的,当然jquery-1.4.3.min.js有很多的版本您可以使用其它的版本。如果你要验证表单是否为空或者对表单字节数输入控制,加载formvalidator.js

就可以了,但是如果你要进一步验证表单输入的类型,如数字、时间格式和邮箱格式等就需要把formvalidatorregex.js文件加载进来。

二、jQuery formValidator代码的书写规则

代码如下

复制代码

与上面代码相应的验证表单

代码如下

复制代码

用 户

名:

上面的js代码中需要动手写的有以下部分:

1、formid:"myform" myform是表单formr 的id,必需,否则表单提交时失去了验证效果。

2、$("#admin")

输入框admin的id 即id="admin"

3、min:3,max:20

控控制输入框input输入的字数,这里表示输入的字数范围是3-20个

3、onshow:"填写后台管理员名称"

输入框的提示说明

4、onfocus:"填写后台管理员名称"

输入框获取焦点时的提示说明

5、onerror:"填写后台管理员名称"

输入框书写错误时的提示

6、.regexValidator({regexp:"^\w+$",onError:"格式不正确"})

为进一步验证而添加的正则,表示输入框的数据只能是数字、字母或者下划线,更多的Js正则请查看formvalidatorregex.js文件。使用这一步需要加载formvalidatorregex.js文件。

每种格式支持的控件类型如下:

校验方式

text

radio

file

password

textarea

select-one

inputValidator

compareValidator

ajaxValidator

regexValidator

functionValidator

如果你用了不支持的校验功能,插件将忽略这个校验功能。

插件目前提示错误,有两种模式:showword和showalert,即文字提示和窗口提示,下面的4大验证方式,针对showalert这种方式不是都必须的,有些配置是没有作用的

下面分别罗列全局初始化和5种校验方式公开的属性

formValidator:

用来做初始化的类型,必须先执行。("√"为showalert可用参数)

属性

属性名称

默认值

showalert

详细解释

validatorgroup

校验组

"1"

一个页面的控件可以分成多个组,分开校验

empty

是否可以为空

false

automodify

输入错误离开焦点的时候,自动修复错误

true

先给出提示然后,自动修复,目前只支持text、file、textarea三种类型

onempty

空时候的提示

"输入内容为空"

可以为空,为空时候的提示。为空者不显示

onshow

显示时候的提示

"请输入内容"

为空者不显示

onfocus

获得焦点的提示

"请输入内容"

为空者不显示

oncorrect

输入正确后的提示

"输入正确"

当你焦点离开控件的时候,如果输入正确将出现该提示。为空者不显示

tipid

显示错误的容器ID

表单ID+"Tip"

如果不自动构建提示层,表示提示成的ID号

如果自动构建提示层,表示提示层相对的目标控件

tipcss

自动构建的提示层的样式

"left":"10px",

"top":"1px",

"height":"20px",

"width":"250px"

主要用于定位自动构建的提示层

forcevalid

强制输入的值必须有效

true

是否把一个全角字符当做2个长度的参数

ajax

提交服务器

true

ajaxValidator是否把该表单提交给服务器

defaultvalue

默认值

null

所有input和select表单。如果你不设置就保持原值,一旦设置就设为默认值。

triggerevent

默认值

blur

当前支持2种属性值:

blur:失去焦点的时候触发

change:当输入框里的值发生改变的时候触发

inputValidator:

属性

属性名称

默认值

详细解释

type

比较类型

"size"

(对select无效)

"size":表示比较长度 ,默认值

"number":数值型比较

"string":字符型比较

"date":短日期类型

"datetime":长日期类型

min

最小长度/值

0

默认数值型。如果进行字符比较,请收入字符型

对select-one而言inputValidator里的参数min和max表示选择的索引号范围 对select-multiple而言inputValidator里的参数min和max表示选择的个数

max

最大长度/值

99999999999

同上

onerror

发生错误的提示

"输入错误"

为空者不显示。

onerrormin

比min属性小的提示

null

当用户输入的值比min属性小的时候的错误提示

onerrormax

比max属性大的提示

null

当用户输入的值比max属性大的时候的错误提示

empty

控件文本值是否允许两边为空

两边都允许出现空

默认值{leftempty:true,rightempty:true,emptyerror:null}

leftempty:表示左边是否允许为空

rightempty:表示右边是否允许为空 emptyerror:出现该错误的时候的提示,如果为null,则利用onerror属性来提示错误。

compareValidator:

属性

属性名称

默认值

详细解释

desid

要比较控件的ID

""

要跟源目标进行比较的目标ID

operateor

比较符号

"="

一共有如下几种类型:=、!=、>、>=、

datatype

数据类型

"string"

目前只支持2种:"string"、"number","datetime","date"

onerror

发生错误的提示

"输入错误"

为空者不显示。

regexValidator:

属性

属性名称

默认值

详细解释

regexp

正则表达式或表达式数组

""

采用的是显式构造函数new RegExp("pattern"[,"flags"]);

由于Javascript 中'' 被用作转义字符,所以在使用显示构造函数构造实例对象的时候,需要使用'\'

代替''

param

附加参数

"i"

g:代表可以进行全局匹配。

i:代表不区分大小写匹配。

m:代表可以进行多行匹配。

可以任意组合,当然也可以不加参数

comparetype

比较类型

"||"

"||"或的关系  "&&"并列

datatype

数据类型

"string"

"string":自己写的表达式,"enum":枚举名。具体请见demo3.htm

你可以自己修改、添加formValidatorRegex.js里的枚举项目名和表达式。

onerror:

发生错误的提示

"输入错误"

为空者不显示。

ajaxValidator:

几乎所有的属性跟$.ajax()的属性一样,请参考$.ajax()函数的帮助

属性

属性名称

默认值

详细解释

type

请求的类型

"GET"

"POST" 或 "GET"

url

发送到的URL地址

""

在服务器端,你可以通过name为clientid获取触发验证的控件ID名

datatype

返回的数据类型

"html"

xml、html、script、json、text

timeout

超时设置

999

data

数据

""

async

是否以异步的方式发送

true

success

当请求成功时调用的函数

null

processdata

自动处理返回的数据为字符串

true

在默认的情况下,如果data选项传进的数据是一个对象而不是字符串,将会自动地被处理和转换成一个查询字符串

complete

当请求完成时调用的函数

null

beforesend

当请求前时调用的函数

null

有个一个参数,根$.ajax里的beforeSend参数一样。

buttons

你点提交的按钮(组)jQuery对象

null

当你触发了ajax校验,buttons里对应的按钮(组)就会灰掉,一直等待服务器返回数据为止

error

当请求失败时调用的函数

"请求失败"

你可以自己定义这个错误,在error里自动打出。为空者不显示。

functionValidator

属性

属性名称

默认值

返回值的解释

fun

外部函数名()

参数1:元素的值,

参数2:元素对象

默认当作处理过程

true/false

校验成功/失败

字符串

校验失败,返回值当作自定义错误

处理过程

onerror

发生错误的提示

"输入错误"

函数return false的时候,显示该错误信息

公共函数:

主要是设置全局参数和判断是否通过校验

函数名

函数说明

$.formValidator.initConfig

参数:配置类型

属性

默认值

说明

validatorgroup

"1"

你要针对哪个组进行配置

formid

""

要自动注册pageIsValid函数的表单ID号

alertmessage

false

是否弹出窗口

autotip

false

是否自动构建提示层

errorfocus

true

发生错误的时候,第一个出错控件是否获得焦点

forcevalid

true

是否一直输入正确为止才允许离开焦点

wideword

true

是否把一个全角字符当做2个长度

onsuccess

null

该组校验通过后的回调函数,返回false,阻止表单的提交

submitonce

false

校验通过后,是否灰掉所有的提交按钮

onerror

null

该组校验失败后的回调函数, 有两个参数 参数1

一个校验没有通过的错误信息

参数2

一个校验没有通过的元素对象

参数3

所有的错误信息数组,你可以通过$.map来遍历

debug

false

是否处于调试模式。true:不提交表单

$.formValidator.pageIsValid

一个参数: 不是配置类型

validatorgroup

"1"

你要针对哪个组进行验证

$.formValidator.isOneValid

一个参数: 当时设置验证的表单元素ID。

返回是否校验成功的信息。

$.formValidator.setFailState

function("tipid","显示的信息")

在showword模式下,如果你的额外校验没有通过,你可以通过它来设置成失败信息和状态

$.formValidator.getLength

function("表单元素id")

checkbox或radiobutton表示(同组)选择的个数。

对select-one,选择索引的值

对select-multiple,inputValidator里的参数min和max表示选择的个数

其它input表示的表示字符长度。

$.formValidator.retSetTipState

function(校验组号) 来把该组的提示内容恢复到onshow状态

$.formValidator.reloadAutoTip

重新定位自动构建的提示层

jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种脚本控制。jQuery formValidator表单插件致力于改善重复编程、考虑浏览器兼容性等情况;你只关心业务逻辑,而无需关心实现过程,只需简单的配置,无需写代码就能实现表单的检验。 jQuery formValidator表单校验插件 4.1.0 升级内容: 新增以下功能: 1、新增换肤功能,包括提示层的样式、输入控件(目前只支持text、password、file、textarea)的样式。initConfig增加theme属性,表示皮肤名,theme的值可取目录theme下的文件夹名。详见电子版帮助文件里的【制作皮肤】 2、formvalidator函数增加属性leftTrim和rightTrim。是否去掉左边或右边的空格,默认值false 3、ajaxValidator的success事件,可以返回字符串,表示错误信息,将显示在提示层上。 4、为initConfig增加属性ajaxForm,用于配置整个表单ajax提交的参数,详见demo7和api帮助 $.formValidator.initConfig({theme:"Default",submitOnce:true,formID:"form1",ajaxForm:{ dataType : "html", buttons:$("#button"), url: "http://www.51gh.net/chkuser.aspx?act=ok" }}); 5、所有函数的onError和onSuccess支持字符串,也支持函数(参数为当前的值)返回字符串。 6、发布网页版代码生成器,从当前版本开始支持。 解决以下BUG: 1、修正ajaxValidator函数有一处条件书写错误的BUG。 2、修正formvalidator函数autoModify属性对password控件不起作用的BUG。 调用步骤: a、在你要校验的表单页面引入代码生成器的脚本。 b、调用函数。如果已经写了校验代码,请在校验代码注册完成后调用。 $.formValidatorTools.openTools(); 压缩包相关变更 1、所有的帮助、范例制作成了chm电子帮助文件 2、插件相关的文件放一个目录里 插件支持5种大的校验方式,分别是:inputValidator(针对input、textarea、select控件的字符长度、值范围、选择个数的控制)、compareva lidator(提供2个对象的比较,目前可以比较字符串和数值型)、ajaxValidator(通过ajax到服务器上做数据校验)、regexValidator(提供可扩展的正则表达式库) 、functionValidator (可使用外部函数来做校验,可以当做过程处理)。插件支持四种提示模式:固定提示层(FixTip)、自动构建提示层(AutoTip)、单个提示层跟随(SingleTip)、弹出提示内容(AlertTip)。插件支持换肤:默认情况下提供4套皮肤,其包括58网、网易邮箱注册两套皮肤。 本插件于其他校验控件最大的区别有6点: 1、校验功能可以扩展。    对文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而formValidator是通过外部js文件来扩展的,你可以通过写正则表达式和函数来无限的扩展这些功能。 2、实现了校验代码于html代码的完全分离。    你的所有信息都无需配置在校验表单元素上,你只要在js上配置你的信息。使美工(界面)和JavaScript工程师的工作不交织在一起 3、你只需写一行代码就能完成一个表单元素的所有校验。你只需要写一行代码就能完成一下所有的控制 •支持所有类型客户端控件的校验 •支持jQuery所有的选择器语法,只要控件有唯一ID和type属性 •支持函数和正则表达式的扩展。提供扩展库formValidatorReg.js,你可以自由的添加、修改里面的内容。 •支持2种校验模式。第一种:文字提示(showword模式);第二种:弹出窗口提示(showalert模式) •支持多个校验组。如果一个页面有多个提交按钮,分别做不同得提交,提交前要做不同的校验,所以你得用到校验组的功能。 •支持4种状态的信息提示功能,可以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值