jQuery formValidator API
阿新 • • 發佈:2017-05-12
ips 轉義字符 one 沒有 數據 ssd 輸入 錯誤提示 borde
jQuery formValidator插件的API幫助
目前支持5種大的校驗方式,分別是:inputValidator(針對input、textarea、select控件的字符長度、值範圍、選擇個數的控制)、compareValidator(提供2個對象的比較,目前可以比較字符串和數值型)、ajaxValidator(通過ajax到服務器上做數據校驗)、regexValidator(提供可擴展的正則表達式庫) 、functionValidator (提供可擴展函數庫來做校驗)
每種格式支持的控件類型如下:
input | textarea | select | |||||
校驗方式 | text | radio | checkbox | file | password | textarea | select-one |
inputValidator | √ | √ | √ | √ | √ | √ | √ |
compareValidator | √ | √ | √ | √ | |||
ajaxValidator | √ | √ | √ | √ | √ | ||
regexValidator | √ | √ | √ | √ | |||
functionValidator | √ | √ | √ | √ | √ | √ | √ |
如果你用了不支持的校驗功能,插件將忽略這個校驗功能。
插件目前提示錯誤,有兩種模式:showword和showalert,即文字提示和窗口提示,下面的4大驗證方式,針對showalert 這種方式不是都必須的,有些配置是沒有作用的
下面分別羅列全局初始化和5種校驗方式公開的屬性
formValidator:用來做初始化的類型,必須先執行。("√"為showalert可用參數
屬性 | 屬性名稱 | 默認值 | showalert | 詳細解釋 |
validatorgroup | 校驗組 | "1" | √ | 一個頁面的控件可以分成多個組,分開校驗 |
empty | 是否可以為空 | false | √ | |
automodify | 輸入錯誤離開焦點的時候,自動修復錯誤 | false | √ | 先給出提示然後,自動修復,目前只支持text、file、textarea三種類型 |
onempty | 空時候的提示 | "輸入內容為空" | 可以為空,為空時候的提示。為空者不顯示 | |
onshow | 顯示時候的提示 | "請輸入內容" | 為空者不顯示 | |
onfocus | 獲得焦點的提示 | "請輸入內容" | 為空者不顯示 | |
oncorrect | 輸入正確後的提示 | "輸入正確" | 當你焦點離開控件的時候,如果輸入正確將出現該提示。為空者不顯示 | |
tipid | 顯示錯誤的容器ID | 表單ID+"Tip" | 如果不自動構建提示層,表示提示成的ID號 如果自動構建提示層,表示提示層相對的目標控件 |
|
tipcss | 自動構建的提示層的樣式 | "left":"10px", "top":"1px", "height":"20px", "width":"250px" |
主要用於定位自動構建的提示層 | |
forcevalid | 強制輸入的值必須有效 | true | √ | 是否把一個全角字符當做2個長度的參數 |
defaultvalue | 默認值 | null | √ | 所有input和select表單。如果你不設置就保持原值,一旦設置就設為默認值。 |
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:代表可以進行多行匹配。 可以任意組合,當然也可以不加參數 |
datatype | 數據類型 | "string" | "string":自己寫的表達式,"enum":枚舉名。具體請見demo3.htm 你可以自己修改、添加formValidatorRegex.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 | 有個一個參數,根$.ajax裏的beforeSend參數一樣。 |
buttons | 你點提交的按鈕(組)jQuery對象 | null | 當你觸發了ajax校驗,buttons裏對應的按鈕(組)就會灰掉,一直等待服務器返回數據為止 |
error | 當請求失敗時調用的函數 | "請求失敗" | 你可以自己定義這個錯誤,在error裏自動打出。為空者不顯示。 |
functionValidator
屬性 | 屬性名稱 | 默認值 | 返回值的解釋 | ||||||
fun | 外部函數名() 參數1:元素的值, 參數2:元素對象 |
默認當作處理過程 |
|
||||||
onerror | 發生錯誤的提示 | "輸入錯誤" | 函數return false的時候,顯示該錯誤信息 |
公共函數:主要是設置全局參數和判斷是否通過校驗
函數名 | 函數說明 | ||||||||||||||||||||||||||||||||||||||||
$.formValidator.initConfig | 參數:配置類型
|
||||||||||||||||||||||||||||||||||||||||
$.formValidator.pageIsValid | 一個參數: 不是配置類型
|
||||||||||||||||||||||||||||||||||||||||
$.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狀態 |
jQuery formValidator API