1. jQuery formValidator表單驗證插件是什麼? [top]
jQuery formValidator表單驗證插件是客戶端表單驗證插件。
在做B/S開發的時候,我們經常涉及到很多表單驗證,例如新用戶註冊,填寫個人資料,錄入一些常規數據等等。在這之前,頁面開發者(JavaScript開發者)需要編寫大量的JavaScript來進行表單元素的校驗,而這些校驗在平時開發中不停的重複書寫。
常見的校驗如不能爲空,必須滿足長度要求,必須爲數字,必須爲Email等等。一般要判斷的表單元素比較多,開發過程就顯得枯燥無味——重複的代碼不斷重複,而且可能還要兼容多種瀏覽器,更多的考慮因素使人頭疼不已。由於每個要校驗的頁面雖然邏輯基本相同,但是在大多數情況下,出於種種原因,開發者寧願再編寫一套JS文件,爲了便於管理。
jQuery formValidator表單插件致力於改善這一過程。你只關心業務邏輯,而無需關係實現過程,只需簡單的配置,無需寫代碼就能實現表單的檢驗。它包括常規檢驗功能和可擴展校驗功能。針對每個表單元素你只需要寫一行配置信息就能完成校驗。而這些配置信息無需寫入表單元素,實現了js代碼和html代碼的分離。這樣做的好處,使B/S開發過程中,分工更加明確,頁面設計着只需關心他的頁面(設計的時候不必擔心把腳本弄壞了),javascript開發者只需關心腳本的開發。
而插件本身包含的校驗方式可以有無數種,只要你擴展正則表達式和函數。本插件於同類校驗插件最大的區別:校驗功能可以擴展;實現了校驗代碼於html代碼的完全分離;你只需寫一行配置信息就能完成一個表單元素的所有校驗。插件本身提供了很多回調函數,使調用者能最大限度的發揮自己的想象能力來完成自己的業務需求。在同一個頁面你可以擁有很多個校驗組,你只需在提交的按鈕那裏調用
return jQuery.formValidator.pageIsValid(’校驗組號’) 來完成多個組的校驗,互不干擾。
插件具備跨瀏覽器的能力。目前在ie和ff兩種瀏覽器下調試通過,你不用再考慮在多瀏覽器下如何兼容,jQuery formValidator幫你做到了這些。
2. jQuery formValidator能做什麼,不能做什麼? [top]
jQuery formValidator表單校驗插件支持的驗證功能(還有很多功能沒有羅列)羅列如下:
- 支持所有類型客戶端控件的校驗
- 支持jQuery所有的選擇器語法,只要控件有唯一ID和type屬性。
- 支持函數和正則表達式的擴展。提供擴展庫formValidatorReg.js,你可以自由的添加、修改裏面的內容。
- 支持2種校驗模式。第一種:文字提示(showword模式);第二種:彈出窗口提示(showalert模式)
- 支持多個校驗組。如果一個頁面有多個提交按鈕,分別做不同得提交,提交前要做不同的校驗,所以你得用到校驗組的功能。
- 支持4種狀態的信息提示功能,可以靈活的控制4種狀態是否顯示。第一種:剛打開網頁的時候進行提示;第二種:獲得焦點的時候進行提示;第三種:失去焦點時,校驗成功時候的提示;第四種:失去焦點時,校驗失敗的錯誤提示。
- 支持自動構建提示層。
- 支持自定義錯誤提示信息。
- 支持控件的字符長度、值範圍、選擇個數的控制。值範圍支持數值型和字符型;選擇的個數支持radio/checkbox/select三種控件
- 支持2個控件值的比較。目前可以比較字符串和數值型。
- 支持服務器端校驗。
-
支持輸入格式的校驗。
jQuery formValidator不能做的:
- 目前對控件ID是動態產生的情況支持的不是很好。例如asp.net裏的gridview控件,因爲它的每行數據都是動態產生的,捕捉不到控件的ID。不過你硬要寫,也是能實現的。
- 其他沒有提到的,很希望你能告訴我們。
3. 什麼情況下,我應該使用jQuery formValidator? [top]
只要控件ID是一定的,即:控件ID是你自己指定的,這種情況你都可以調用。當然動態產生ID的,你也可以調用。jQuery formValidator可以幫助你減輕客戶端校驗編程的壓力,讓你有更多的精力投入對業務的關注中。
無論你是大型系統還是小型系統都適合調用本插件,本插件的壓縮版本只有6K(可能本網頁的一張圖片就有幾十K),個人認爲可以忽略網頁的加載時間。
4. 快速開始 [top]
你可以有兩種方法快速開始(看到效果)
無論是那種方法,演示的例子中都有詳細的步驟,以及對應的代碼。
5. 使用插件必須加載的文件 [top]
//加載jQuery類庫
<script src="jquery_last.js" type="text/javascript"></script>
//加載插件的樣式庫,如果你是自動構建提示層,請加載validatorAuto.css
<link type="text/css" rel="stylesheet" href="style/validator.css"></link>
//加載插件
<script src="formValidator.js" type="text/javascript"></script>
//加載擴展庫
<script src="formValidatorRegex.js" type="text/javascript"></script>
6 jQuery formValidator插件的API幫助[top]
目前支持5種大的校驗方式,分別是:inputValidator(針對input、textarea、select控件的字符長度、值範圍、選擇個數的控制)、compareValidator(提供2個對象的比較,目前可以比較字符串和數值型)、ajaxValidator(通過ajax到服務器上做數據校驗)、regexValidator(提供可擴展的正則表達式庫)、functionValidator (提供可擴展函數庫來做校驗)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
插件目前提示錯誤,有兩種模式:showword和showalert,即文字提示和窗口提示,下面的4大驗證方式,針對showalert這種方式不是都必須的,有些配置是沒有作用的 下面分別羅列全局初始化和5種校驗方式公開的屬性 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
formValidator: | 用來做初始化的類型,必須先執行。("√"爲showalert可用參數) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputValidator: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
compareValidator: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
regexValidator: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ajaxValidator: | 幾乎所有的屬性跟$.ajax()的屬性一樣,請參考$.ajax()函數的幫助 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
functionValidator | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
公共函數: | 主要是設置全局參數和判斷是否通過校驗 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
7 其他補遺 [top]
--------------------------------
jQuery formValidator表單驗證插件是什麼?
jQuery formValidator表單驗證插件,它是基於jQuery類庫,實現了js腳本於頁面html代碼的分離。你可以劃分多個校驗組,每個組的校驗都是互不影響。對一個表單對象,你只需要寫一行代碼就可以輕鬆實現無數種(理論上)腳本控制。目前支持5種大的校驗方式,分別是:inputValidator(針對input、textarea、select控件的字符長度、值範圍、選擇個數的控制)、compareValidator(提供2個對象的比較,目前可以比較字符串和數值型)、ajaxValidator(通過ajax到服務器上做數據校驗)、regexValidator(提供可擴展的正則表達式庫)、functionValidator
(可使用外部函數來做校驗)
本插件於其他校驗控件最大的區別有3點:
1、校驗功能可以擴展。
對中文、英文、數字、整數、實數、Email地址格式、基於HTTP協議的網址格式、電話號碼格式、手機號碼格式、貨幣格式、郵政編碼、身份證號碼、QQ號碼、日期等等這些控制,別的表單校驗控件是代碼裏寫死的,而formValidator是通過外部js文件來擴展的,你可以通過寫正則表達式和函數來無限的擴展這些功能。
2、實現了校驗代碼於html代碼的完全分離。
你的所有信息都無需配置在校驗表單元素上,你只要在js上配置你的信息。使美工(界面)和javascript工程師的工作不交織在一起
3、你只需寫一行代碼就能完成一個表單元素的所有校驗。你只需要寫一行代碼就能完成一下所有的控制
- 支持所有類型客戶端控件的校驗
- 支持jQuery所有的選擇器語法,只要控件有唯一ID和type屬性
- 支持函數和正則表達式的擴展。提供擴展庫formValidatorReg.js,你可以自由的添加、修改裏面的內容。
- 支持2種校驗模式。第一種:文字提示(showword模式);第二種:彈出窗口提示(showalert模式)
- 支持多個校驗組。如果一個頁面有多個提交按鈕,分別做不同得提交,提交前要做不同的校驗,所以你得用到校驗組的功能。
- 支持4種狀態的信息提示功能,可以靈活的控制4種狀態是否顯示。第一種:剛打開網頁的時候進行提示;第二種:獲得焦點的時候進行提示;第三種:失去焦點時,校驗成功時候的提示;第四種:失去焦點時,校驗失敗的錯誤提示。
- 支持自動構建提示層。可以進行精確的定位。
- 支持自定義錯誤提示信息。
- 支持控件的字符長度、值範圍、選擇個數的控制。值範圍支持數值型和字符型;選擇的個數支持radio/checkbox/select三種控件
- 支持2個控件值的比較。目前可以比較字符串和數值型。
- 支持服務器端校驗。