欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種表單校驗(yàn)方法及系統(tǒng)的制作方法

文檔序號(hào):6398300閱讀:153來(lái)源:國(guó)知局
專利名稱:一種表單校驗(yàn)方法及系統(tǒng)的制作方法
一種表單校驗(yàn)方法及系統(tǒng)
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用領(lǐng)域,尤其涉及一種表單校驗(yàn)方法及系統(tǒng)。
背景技術(shù)
目前,在注冊(cè)微博、注冊(cè)郵箱、商戶中心等各種表單的使用場(chǎng)景中,用戶需要通過(guò)瀏覽器顯不的表單向相應(yīng)的服務(wù)器提交各種信息,表單由一個(gè)或多個(gè)輸入框或輸入控件組成,輸入控件可以為下拉菜單等;瀏覽器需要對(duì)用戶提交的表單中的信息進(jìn)行校驗(yàn),用來(lái)確認(rèn)提交的信息是否符合要求。在對(duì)表單中的信息進(jìn)行校驗(yàn)時(shí),需要判斷信息中的各個(gè)字段是否符合預(yù)設(shè)規(guī)則,如有些規(guī)則是依據(jù)服務(wù)器的響應(yīng)值來(lái)判斷是否通過(guò)校驗(yàn),有些規(guī)則需要依賴于其他字段的值來(lái)判斷是否通過(guò)校驗(yàn)?,F(xiàn)有的表單校驗(yàn)方法中存在以下問(wèn)題:1、對(duì)校驗(yàn)規(guī)則進(jìn)行擴(kuò)展首先要實(shí)現(xiàn)對(duì)規(guī)則類型進(jìn)行正確合理的分類,而現(xiàn)有校驗(yàn)規(guī)則中存在沒(méi)有分類或分類不合理的情況,導(dǎo)致一些校驗(yàn)規(guī)則不能歸入校驗(yàn)規(guī)則類型中,從而無(wú)法用于校驗(yàn)表單,導(dǎo)致現(xiàn)有的校驗(yàn)規(guī)則比較固定,無(wú)法進(jìn)行擴(kuò)展,使得現(xiàn)有的表單校驗(yàn)方法中校驗(yàn)規(guī)則比較少,如校驗(yàn)的參數(shù)類型為數(shù)字、參數(shù)長(zhǎng)度為7位等,因此只能應(yīng)用于簡(jiǎn)單表單的規(guī)則校驗(yàn),不能滿足日益豐富類型的表單的校驗(yàn)需求。2、如果提交的表單比較復(fù)雜,表單校驗(yàn)就會(huì)變得效率較低。其中,復(fù)雜的表單指的是包括多個(gè)輸入框、每個(gè)輸入框的參數(shù)都需要進(jìn)行校驗(yàn)、且表單中的每個(gè)輸入框的校驗(yàn)規(guī)則都不同。例如,簡(jiǎn)單的表單如下:
姓名輸入框:輸入內(nèi)容不能為空AND字符串長(zhǎng)度必須大于5密碼輸入框:輸入內(nèi)容不能為空AND字符串長(zhǎng)度必須大于6例如,復(fù)雜的表單如下:商戶名稱:輸入內(nèi)容不能為空AND字符串長(zhǎng)度必須大于5小于20AND字符串中不能含有特殊字符Γ!_$%'&*商戶地址:輸入內(nèi)容不能為空AND輸入內(nèi)容中必須包含“北京”商戶座機(jī)區(qū)號(hào):輸入必須為數(shù)字AND輸入長(zhǎng)度必須為3位或4位AND此值輸入則下面的商戶座機(jī)號(hào)碼必須輸入商戶座機(jī)號(hào)碼:輸入必須為數(shù)字AND輸入長(zhǎng)度必須為7位或8位AND此值輸入則上面的商戶座機(jī)區(qū)號(hào)必須也輸入商戶品牌:輸入品牌名稱必須在服務(wù)器的數(shù)據(jù)庫(kù)中已經(jīng)存在email:輸入必須滿足email地址規(guī)則營(yíng)業(yè)起始時(shí)間:數(shù)字必須在O到24之間AND輸入時(shí)間不能晚于營(yíng)業(yè)結(jié)束時(shí)間營(yíng)業(yè)結(jié)束時(shí)間:數(shù)字必須在O到24之間AND輸入時(shí)間不能早于營(yíng)業(yè)起始時(shí)間現(xiàn)有技術(shù)中對(duì)表單進(jìn)行校驗(yàn)時(shí),由于復(fù)雜表單中輸入框數(shù)量較多,針對(duì)每個(gè)輸入框的每個(gè)校驗(yàn)規(guī)則都需要編寫(xiě)一個(gè)對(duì)應(yīng)的邏輯判斷代碼,例如,有10個(gè)輸入框,輸入框中都是11位的電話號(hào)碼,而校驗(yàn)一個(gè)電話號(hào)碼需要20行邏輯判斷代碼,如果每個(gè)輸入框都編寫(xiě)一段20行的邏輯判斷代碼,就需要200行邏輯判斷代碼,僅僅對(duì)輸入框進(jìn)行電話號(hào)碼的校驗(yàn)就需要200行邏輯判斷代碼,還需要對(duì)輸入框進(jìn)行其他校驗(yàn)時(shí),就會(huì)存在非常龐大的代碼,龐大且邏輯復(fù)雜的代碼十分影響代碼的執(zhí)行效率,因此降低了表單的校驗(yàn)效率,用戶體驗(yàn)較差。

發(fā)明內(nèi)容本發(fā)明提供了一種表單校驗(yàn)方法及系統(tǒng),用以對(duì)表單進(jìn)行自動(dòng)化校驗(yàn),提高表單的校驗(yàn)效率。本發(fā)明的具體技術(shù)方案如下:根據(jù)本發(fā)明一優(yōu)選實(shí)施例,一種表單校驗(yàn)方法,包括:依據(jù)用戶提交的表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則;依據(jù)獲取的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶顯示錯(cuò)誤提示信息。上述方法中,所述校驗(yàn)規(guī)則對(duì)應(yīng)以下規(guī)則類型:無(wú)參數(shù)的規(guī)則類型、單參數(shù)的規(guī)則類型、異步請(qǐng)求方式的規(guī)則類型、自定義函數(shù)方式的規(guī)則類型或關(guān)聯(lián)方式的規(guī)則類型。上述方法中,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)無(wú)參數(shù)的規(guī)則類型時(shí),瀏覽器驗(yàn)證輸入框中輸入值的格式是否滿足所述校驗(yàn)規(guī)則所描述的格式,并在輸入值不滿足校驗(yàn)規(guī)則所描述的格式時(shí),向用戶顯示錯(cuò)誤提示信息。上述方法中,當(dāng)獲 取的校驗(yàn)規(guī)則對(duì)應(yīng)單參數(shù)的規(guī)則類型時(shí),瀏覽器驗(yàn)證輸入框中的輸入值是否同時(shí)滿足所述校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小,并在輸入值不同時(shí)滿足校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小時(shí),向用戶顯示錯(cuò)誤提示信息。上述方法中,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)異步請(qǐng)求方式的規(guī)則類型時(shí),瀏覽器依據(jù)校驗(yàn)規(guī)則中服務(wù)器的服務(wù)地址將輸入值發(fā)送給服務(wù)器;瀏覽器調(diào)用校驗(yàn)規(guī)則中轉(zhuǎn)換函數(shù),將服務(wù)器返回的校驗(yàn)結(jié)果作為所述轉(zhuǎn)換函數(shù)的輸入?yún)?shù),所述轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值;如果是真值,瀏覽器判斷出所述輸入值通過(guò)服務(wù)器的校驗(yàn);如果是假值,瀏覽器判斷出所述輸入值沒(méi)有通過(guò)服務(wù)器的校驗(yàn),向用戶顯示錯(cuò)誤提示信息。上述方法中,轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值的方法為:轉(zhuǎn)換函數(shù)對(duì)服務(wù)器的校驗(yàn)結(jié)果進(jìn)行識(shí)別,如果識(shí)別結(jié)果為校驗(yàn)成功,則轉(zhuǎn)換函數(shù)輸出真值,如果識(shí)別結(jié)果為校驗(yàn)失敗,則轉(zhuǎn)換函數(shù)輸出假值。上述方法中,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)自定義函數(shù)的規(guī)則類型時(shí),瀏覽器將輸入框中輸入值作為校驗(yàn)規(guī)則中輸入值處理函數(shù)的輸入?yún)?shù);如果輸入值處理函數(shù)返回真值,瀏覽器判斷出所述輸入值通過(guò)校驗(yàn),如果輸入值處理函數(shù)返回假值,瀏覽器判斷出所述輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。上述方法中,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)關(guān)聯(lián)方式的校驗(yàn)規(guī)則時(shí),瀏覽器調(diào)用校驗(yàn)規(guī)則中的判斷處理函數(shù),將輸入值和校驗(yàn)規(guī)則中的關(guān)聯(lián)值作為判斷處理函數(shù)的輸入?yún)?shù);判斷處理函數(shù)對(duì)輸入值和關(guān)聯(lián)值進(jìn)行邏輯判斷,如果判斷處理函數(shù)返回真值,則瀏覽器判斷出輸入值通過(guò)校驗(yàn),如果判斷處理函數(shù)返回假值,則瀏覽器判斷出輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。一種表單校驗(yàn)系統(tǒng),包括:瀏覽器、服務(wù)器;瀏覽器進(jìn)一步包括規(guī)則獲取單元和輸入值校驗(yàn)單元;其中,規(guī)則獲取單元,用于依據(jù)用戶提交的表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則;輸入值校驗(yàn)單元,用于依據(jù)規(guī)則獲取單元獲取的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶顯示錯(cuò)誤提示信息。上述系統(tǒng)中,所述校驗(yàn)規(guī)則對(duì)應(yīng)以下規(guī)則類型:無(wú)參數(shù)的規(guī)則類型、單參數(shù)的規(guī)則類型、異步請(qǐng)求方式的規(guī)則類型、自定義函數(shù)方式的規(guī)則類型或關(guān)聯(lián)方式的規(guī)則類型。上述系統(tǒng)中,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)無(wú)參數(shù)的規(guī)則類型時(shí),驗(yàn)證輸入框中輸入值的格式是否滿足所述校驗(yàn)規(guī)則所描述的格式,并在輸入值不滿足校驗(yàn)規(guī)則所描述的格式時(shí),向用戶顯示錯(cuò)誤提示信息。上述系統(tǒng)中,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)單參數(shù)的規(guī)則類型時(shí),驗(yàn)證輸入框中的輸入值是否同時(shí)滿足所述校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小,并在輸入值不同時(shí)滿足校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小時(shí),向用戶顯示錯(cuò)誤提示信息。上述系統(tǒng)中,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)異步請(qǐng)求方式的規(guī)則類型時(shí),依據(jù)校驗(yàn)規(guī)則中服務(wù)器的服務(wù)地址將輸入值發(fā)送給服務(wù)器;調(diào)用校驗(yàn)規(guī)則中轉(zhuǎn)換函數(shù),將服務(wù)器返回的校驗(yàn)結(jié)果作為所述轉(zhuǎn)換函數(shù)的輸入?yún)?shù),所述轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值;如果是真值,判斷出所述輸入值通過(guò)服務(wù)器的校驗(yàn);如果是假值,判斷出所述輸入值沒(méi)有通過(guò)服務(wù)器的校驗(yàn),向用戶顯示錯(cuò)誤提示信息。上述系統(tǒng)中,轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值具體包括:轉(zhuǎn)換函數(shù)對(duì)服務(wù)器的校驗(yàn)結(jié)果進(jìn)行識(shí)別,如果識(shí)別結(jié)果為校驗(yàn)成功,則轉(zhuǎn)換函數(shù)輸出真值,如果識(shí)別結(jié)果為校驗(yàn)失敗,則轉(zhuǎn)換函數(shù)輸出假值。上述系統(tǒng)中,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)自定義函數(shù)的規(guī)則類型時(shí),將輸入框中輸入值作為校驗(yàn)規(guī)則中輸入值處理函數(shù)的輸入?yún)?shù);如果輸入值處理函數(shù)返回真值,判斷出所述輸入值通過(guò)校驗(yàn),如果輸入值處理函數(shù)返回假值,判斷出所述輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。上述系統(tǒng)中,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)關(guān)聯(lián)方式的校驗(yàn)規(guī)則時(shí),調(diào)用校驗(yàn)規(guī)則中的判斷處理函數(shù),將輸入值和校驗(yàn)規(guī)則中的關(guān)聯(lián)值作為判斷處理函數(shù)的輸入?yún)?shù);判斷處理函數(shù)對(duì)輸入值和關(guān)聯(lián)值進(jìn)行邏輯判斷,如果判斷處理函數(shù)返回真值,則判斷出輸入值通過(guò)校驗(yàn),如果判斷處理函數(shù)返回假值,則判斷出輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。由以上技術(shù)方案可以看出,本發(fā)明提供的具有以下有益效果:利用配置文本的方式保存校驗(yàn)規(guī)則,配置文本中每個(gè)輸入框ID對(duì)應(yīng)的校驗(yàn)規(guī)則組合在一起,如此,本發(fā)明中配置文本中瀏覽器從配置文本中獲得輸入框?qū)?yīng)的校驗(yàn)規(guī)則進(jìn)行輸入值的校驗(yàn),與現(xiàn)有技術(shù)中瀏覽器運(yùn)行邏輯判斷代碼來(lái)校驗(yàn)輸入值的方式相比,由于不再需要執(zhí)行龐大且邏輯復(fù)雜的代碼,因此能夠提高表單的校驗(yàn)效率,帶來(lái)良好的用戶體驗(yàn);而且,開(kāi)發(fā)過(guò)程中也不需要再編輯龐大且邏輯復(fù)雜的代碼,從而可以提高提供表單的應(yīng)用的開(kāi)發(fā)效率,降低開(kāi)發(fā)過(guò)程中研發(fā)人員的工作量,節(jié)省人力物力。

圖1是本發(fā)明中表單校驗(yàn)方法的優(yōu)選實(shí)施例的流程示意圖;圖2是本發(fā)明中表單校驗(yàn)系統(tǒng)的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式本發(fā)明的基本思想是:依據(jù)用戶提交的表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則;依據(jù)獲取的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶顯示錯(cuò)誤提示信息。為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明提供一種表單校驗(yàn)方法,圖1是本發(fā)明中表單校驗(yàn)方法的優(yōu)選實(shí)施例的流程示意圖,如圖1所示,該優(yōu)選實(shí)施例包括以下步驟:步驟101,瀏覽器接收用戶提交的表單。具體的,用戶在瀏覽器的界面所顯示的表單的每個(gè)輸入框中輸入一個(gè)輸入值,然后將輸入完畢的表單提交給瀏覽器;瀏覽器接收用戶提交的表單,該表單中包括一個(gè)以上輸入框,每個(gè)輸入框中都有一個(gè)輸入值。步驟102,瀏覽器依據(jù)表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則。具體的,在收到用戶提交的表單后,瀏覽器需要對(duì)表單中的每個(gè)輸入框中的輸入值都進(jìn)行校驗(yàn),在校驗(yàn)之前需要獲得該輸入框?qū)?yīng)的校驗(yàn)規(guī)則。本優(yōu)選實(shí)施例中,預(yù)先在服務(wù)器中設(shè)置一個(gè)配置文件,然后將配置文件的地址配置到瀏覽器中;所述配置文件用于保存配置文本,配置文本中包括一個(gè)以上輸入框ID及對(duì)應(yīng)的一個(gè)以上校驗(yàn)規(guī)則,配置文本中的校驗(yàn)規(guī)則用于對(duì)該配置文本中的輸入框ID的輸入值進(jìn)行校驗(yàn);這里,對(duì)于表單中每個(gè)輸入框的輸入值,可以利用一個(gè)以上校驗(yàn)規(guī)則進(jìn)行校驗(yàn),因此每個(gè)輸入框ID可以對(duì)應(yīng)一個(gè)以上校驗(yàn)規(guī)則。在瀏覽器收到表單后,依據(jù)配置文件的地址在服務(wù)器中找到保存配置文件,依據(jù)表單的輸入框ID在配置文件中的配置文本中獲得該輸入框ID對(duì)應(yīng)的一個(gè)以上校驗(yàn)規(guī)則。本優(yōu)選實(shí)施例中,依據(jù)輸入值的類型將校驗(yàn)規(guī)則分為以下規(guī)則類型:無(wú)參數(shù)的規(guī)則類型、單參數(shù)的規(guī)則類型、異步請(qǐng)求方式的規(guī)則類型、自定義函數(shù)方式的規(guī)則類型和關(guān)聯(lián)方式的規(guī)則類型。步驟103,瀏覽器依據(jù)輸入框ID對(duì)應(yīng)的校驗(yàn)規(guī)則對(duì)表單中該輸入框中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶 顯示錯(cuò)誤提示信息。具體的,瀏覽器在配置文本中找到輸入框?qū)?yīng)的校驗(yàn)規(guī)則后,需要利用找到的校驗(yàn)規(guī)則對(duì)該輸入框的輸入值進(jìn)行校驗(yàn)。
對(duì)于不同規(guī)則類型的校驗(yàn)規(guī)則,瀏覽器采用如下方法進(jìn)行輸入值的校驗(yàn):A、如果配置文本中的校驗(yàn)規(guī)則為無(wú)參數(shù)的規(guī)則類型,則瀏覽器需要驗(yàn)證輸入框中的輸入值的格式是否滿足該校驗(yàn)規(guī)則所描述的格式;其中,無(wú)參數(shù)的規(guī)則類型中的校驗(yàn)規(guī)則只需要是規(guī)則類型的名稱即可,不需要參數(shù)來(lái)輔助進(jìn)行校驗(yàn),無(wú)參數(shù)的規(guī)則類型可以包括如下校驗(yàn)規(guī)則:a、驗(yàn)證輸入值不能為空b、驗(yàn)證輸入值必須為數(shù)字C、驗(yàn)證輸入值必須為一個(gè)email地址d、驗(yàn)證輸入值必須為一個(gè)手機(jī)號(hào)碼e、驗(yàn)證輸入值必須為一個(gè)座機(jī)號(hào)碼這里,可以利用判斷邏輯或正則表達(dá)式來(lái)判斷輸入值是否為email地址、手機(jī)號(hào)碼或座機(jī)號(hào)碼等;例如,判斷邏輯依據(jù)預(yù)設(shè)的格式判斷輸入值是否為email地址,email地址的格式應(yīng)該為XX@XX.com,判斷邏輯判斷輸入值中是否含有“@”、是否含有”、輸入值的頭尾是否為字符等;手機(jī)號(hào)碼的格式為11為的數(shù)字,座機(jī)號(hào)碼的格式為7位或8位的數(shù)字。B、如果配置文本中的校驗(yàn)規(guī)則為單參數(shù)的規(guī)則類型,則瀏覽器需要驗(yàn)證輸入框中的輸入值是否同時(shí)滿足校驗(yàn)規(guī)則所描述的格式和大??;單參數(shù)的規(guī)則類型中的校驗(yàn)規(guī)則包括規(guī)則類型的名稱和參數(shù)值,需要利用規(guī)則類型的名稱和參數(shù)值對(duì)輸入值進(jìn)行結(jié)合校驗(yàn),輸入值既需要符合規(guī)則類型的名稱,還需要符合指定的參數(shù)值;其中,單參數(shù)的規(guī)則類型可以包括如下校驗(yàn)規(guī)則:a、驗(yàn)證輸入值必須符合某正則表達(dá)式,參數(shù)為該正則表達(dá)式的字符串b、驗(yàn)證輸入值的字符串長(zhǎng)度最大值不能超出某長(zhǎng)度值,參數(shù)為指定的長(zhǎng)度值C、驗(yàn)證輸入值的字符串長(zhǎng)度最小值不能小于某長(zhǎng)度值,參數(shù)為指定的長(zhǎng)度值d、驗(yàn)證輸入值的數(shù)字值最大值為某數(shù)值,參數(shù)為指定的數(shù)值e、驗(yàn)證輸入值的數(shù)字值最小值為某數(shù)值,參數(shù)為指定的數(shù)值例如,對(duì)于單參數(shù)的規(guī)則類型,配置文本中的校驗(yàn)規(guī)則為:type: ” number ”param: 8該校驗(yàn)規(guī)則為單參數(shù)的規(guī)則類型中最大值校驗(yàn)規(guī)則,校驗(yàn)規(guī)則的名稱為maxNumber,表示需要校驗(yàn)輸入值的最大值,因此還需要一個(gè)數(shù)字來(lái)輔助校驗(yàn)輸入值,param:8表示輸入值的最大值為8。C、如果配置文本中的校驗(yàn)規(guī)則為異步請(qǐng)求方式的規(guī)則類型,則瀏覽器需要將校驗(yàn)的輸入值發(fā)送到服務(wù)器,由服務(wù)器對(duì)輸入值進(jìn)行校驗(yàn);異步請(qǐng)求方式的規(guī)則類型中的校驗(yàn)規(guī)則包括服務(wù)器的服務(wù)地址(如URL)和對(duì)服務(wù)器返回的校驗(yàn)結(jié)果進(jìn)行處理的轉(zhuǎn)換函數(shù);瀏覽器依據(jù)配置文本中的校驗(yàn)規(guī)則,將輸入值發(fā)送到服務(wù)器的服務(wù)地址,然后將服務(wù)器返回的校驗(yàn)結(jié)果作為轉(zhuǎn)換函數(shù)的輸入?yún)?shù),依據(jù)轉(zhuǎn)換函數(shù)的返回值判斷該輸入值是否通過(guò)服務(wù)器的校驗(yàn);如果服務(wù)器返回的校驗(yàn)結(jié)果為校驗(yàn)成功;其中,轉(zhuǎn)換函數(shù)可以對(duì)服務(wù)器返回的校驗(yàn)結(jié)果進(jìn)行識(shí)別,如果識(shí)別結(jié)果為校驗(yàn)成功,則轉(zhuǎn)換函數(shù)輸出真值,如果識(shí)別結(jié)果為校驗(yàn)失敗,則轉(zhuǎn)換函數(shù)輸出假值。例如,返回的校驗(yàn)結(jié)果為{errno:0, state: ’ success’ },則表示服務(wù)器的校驗(yàn)結(jié)果為通過(guò)校驗(yàn),如果服務(wù)器返回的校驗(yàn)結(jié)果為校驗(yàn)失敗,如返回的校驗(yàn)結(jié)果為{errno:l, stated fair },表示服務(wù)器的校驗(yàn)結(jié)果為沒(méi)通過(guò)校驗(yàn);瀏覽器調(diào)用轉(zhuǎn)換函數(shù),將校驗(yàn)結(jié)果作為轉(zhuǎn)換函數(shù)的輸入?yún)?shù),該轉(zhuǎn)換函數(shù)對(duì)校驗(yàn)結(jié)果進(jìn)行轉(zhuǎn)換后輸出返回值,如果服務(wù)器的校驗(yàn)結(jié)果為{errno:0, state: ’ success’ },轉(zhuǎn)換函數(shù)判斷出字段名state的字段值為success,表示服務(wù)器的校驗(yàn)成功,則轉(zhuǎn)換函數(shù)的返回值為真值true,瀏覽器依據(jù)真值true判斷出輸入框的輸入值通過(guò)服務(wù)器的校驗(yàn);如果服務(wù)器的校驗(yàn)結(jié)果為{errno: 1,state: ’ fail’ },表示服務(wù)器的校驗(yàn)失敗,貝U轉(zhuǎn)換函數(shù)判斷出字段名state的字段值為fail,則轉(zhuǎn)換函數(shù)的返回值為假值false,瀏覽器依據(jù)假值false判斷出輸入框的輸入值沒(méi)有通過(guò)服務(wù)器的校驗(yàn);其中,這里僅以state的字段值是success為例進(jìn)行說(shuō)明,服務(wù)器也可以利用O和I作為校驗(yàn)成功和校驗(yàn)失敗時(shí)state的字段值,轉(zhuǎn)換函數(shù)也可以將state的字段值O或I轉(zhuǎn)換為真值和假值。例如,需要校驗(yàn)輸入值是否為注冊(cè)過(guò)的用戶名,則瀏覽器需要將輸入的用戶名發(fā)送給服務(wù)器進(jìn)行校驗(yàn),服務(wù)器在數(shù)據(jù)庫(kù)中查詢后獲知該用戶名是否注冊(cè),然后將校驗(yàn)結(jié)果返回給瀏覽器,瀏覽器調(diào)用轉(zhuǎn)換函數(shù)將校驗(yàn)結(jié)果轉(zhuǎn)換為真值或假值,依據(jù)真值或假值判斷該輸入值是否通過(guò)服務(wù)器校驗(yàn),如果通過(guò)校驗(yàn),則瀏覽器判斷出該用戶名沒(méi)有注冊(cè)過(guò),輸入的用戶名有效;如果沒(méi)有通過(guò)校驗(yàn),則瀏覽器判斷出該用戶名已經(jīng)注冊(cè)過(guò),輸入的用戶名無(wú)效,需要重新輸入用戶名。這里需要說(shuō)明的是,服務(wù)器返回的校驗(yàn)結(jié)果是服務(wù)器自身的字符串格式,如{errno:0, state: ’ success’ },但是瀏覽器不能識(shí)別這種字符串,因此,就需要利用校驗(yàn)規(guī)則中的轉(zhuǎn)換函數(shù)來(lái)進(jìn)行處理,將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換為瀏覽器能夠識(shí)別的真值和假值。其中,對(duì)于校驗(yàn)結(jié)果{errno:0, state: ’ success’} ,0表示服務(wù)器返回的校驗(yàn)結(jié)果的錯(cuò)誤號(hào),success表示狀態(tài),對(duì)于校驗(yàn)結(jié)果{errno: 1,state: ’ fail’ }, I表示服務(wù)器返回的校驗(yàn)結(jié)果的錯(cuò)誤號(hào),fail表示狀態(tài)。D、如果配置文本中的校驗(yàn)規(guī)則為自定義函數(shù)方式的規(guī)則類型,則表示配置文本中的校驗(yàn)規(guī)則是用戶自定義的校驗(yàn)規(guī)則,這個(gè)校驗(yàn)規(guī)則是由用戶自定義的輸入值處理函數(shù),瀏覽器需要將輸入框中的輸入值作為該自定義的處理函數(shù)的輸入值,由輸入值處理函數(shù)對(duì)輸入值進(jìn)行校驗(yàn),然后輸出真值或假值,瀏覽器可以依據(jù)輸入值處理函數(shù)返回的真值或假值判斷輸入值是否通過(guò)校驗(yàn),如果輸入值處理函數(shù)返回真值,瀏覽器判斷出輸入值通過(guò)校驗(yàn),如果輸入值處理函數(shù)返回假值,瀏覽器判斷出輸入值沒(méi)有通過(guò)校驗(yàn)。例如,配置文本中有如下校驗(yàn)規(guī)則:
if(輸入值中含有” china”) return true: else return false;該示例的校驗(yàn)規(guī)則就是自定義的校驗(yàn)規(guī)則,實(shí)質(zhì)為一個(gè)自定義的輸入值處理函數(shù),該輸入值處理函數(shù)用于校驗(yàn)輸入值中是否包含字符串“china”,如果包含該字符串,則返回真值true,如果不包含該字符串,則返回假值false。
E、如果配置文本中的校驗(yàn)規(guī)則為關(guān)聯(lián)方式的規(guī)則類型,表示需要對(duì)輸入值以及輸入值的關(guān)聯(lián)值進(jìn)行聯(lián)合校驗(yàn),此時(shí),輸入值是否通過(guò)校驗(yàn)需要由輸入值自身和關(guān)聯(lián)值共同決定;關(guān)聯(lián)方式的規(guī)則類型中的校驗(yàn)規(guī)則包括指定的關(guān)聯(lián)值和判斷處理函數(shù),瀏覽器調(diào)用判斷處理函數(shù),將輸入值和指定的關(guān)聯(lián)值作為判斷處理函數(shù)的輸入?yún)?shù),判斷處理函數(shù)對(duì)輸入值和關(guān)聯(lián)值進(jìn)行邏輯判斷,然后返回真值或假值,瀏覽器依據(jù)返回的真值或假值判斷輸入值是否通過(guò)校驗(yàn),如果返回真值true,則輸入值通過(guò)校驗(yàn),如果返回假值false,則輸入值沒(méi)有通過(guò)校驗(yàn)。例如,表單中有營(yíng)業(yè)開(kāi)始時(shí)間和營(yíng)業(yè)結(jié)束時(shí)間兩個(gè)輸入值,校驗(yàn)規(guī)則為開(kāi)始時(shí)間不得晚于結(jié)束時(shí)間,且兩個(gè)輸入值必須同時(shí)填寫(xiě),則對(duì)其中的營(yíng)業(yè)開(kāi)始時(shí)間的校驗(yàn)規(guī)則屬于關(guān)聯(lián)方式的規(guī)則類型,需要進(jìn)行關(guān)聯(lián)校驗(yàn),指定的關(guān)聯(lián)值為營(yíng)業(yè)結(jié)束時(shí)間,處理函數(shù)對(duì)輸入的營(yíng)業(yè)開(kāi)始時(shí)間和營(yíng)業(yè)結(jié)束時(shí)間進(jìn)行邏輯判斷,然后返回真值或假值。瀏覽器利用上述規(guī)則類型的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn)時(shí),如果輸入值不滿足校驗(yàn)規(guī)則,則該輸入值沒(méi)有通過(guò)校驗(yàn),瀏覽器在該輸入值所在的輸入框后面顯示錯(cuò)誤提示信息,用于提示用戶該輸入值錯(cuò)誤,用戶可以依據(jù)錯(cuò)誤提示信息重新在輸入框中給出滿足校驗(yàn)規(guī)則的輸入值;如果輸入值滿足校驗(yàn)規(guī)則,則對(duì)其他輸入框的輸入值進(jìn)行校驗(yàn),直到所有輸入值都校驗(yàn)完畢,或繼續(xù)依據(jù)其他校驗(yàn)規(guī)則對(duì)該輸入框的輸入值進(jìn)行校驗(yàn),直到對(duì)該輸入值校驗(yàn)完畢,然后繼續(xù)校驗(yàn)其他輸入值。實(shí)施例一如下配置文本中指定了對(duì)ID為testNodeld的輸入框進(jìn)行校驗(yàn)時(shí)的校驗(yàn)規(guī)則:
{
inputNode:"testNodeld",//輸入框的ID,用以獲取輸入框的輸入值rules:[
{
type: "required”,//規(guī)則I驗(yàn)證輸入值不能為空errorMessage:"此值必須輸入"http://未通過(guò)校驗(yàn)時(shí)的錯(cuò)誤提示信息
},
{
type: "number”,//規(guī)貝1J 2驗(yàn)證輸入值必須為數(shù)字errorMessage:"此值必須 為數(shù)字”
},
}實(shí)施例二如下配置文本中指定了對(duì)輸入值利用異步請(qǐng)求方式的規(guī)則類型中的校驗(yàn)規(guī)則進(jìn)行校驗(yàn):
{
type: "ajax”,//規(guī)則類型為異步請(qǐng)求方式 errorMessage: π此輸入值未通過(guò)服務(wù)器的校驗(yàn)", param: {
url: '/api/check',//瀏覽器將輸入值將發(fā)送給該URLhandler: function(res){//該轉(zhuǎn)換函數(shù)對(duì)服務(wù)器的校驗(yàn)結(jié)果進(jìn)行轉(zhuǎn)換if(res.er rno == O)return true;
else
return false;
}
}
}實(shí)施例三ID為testNodeld的輸入框,需要輸入值中含有字符串”china”,則配置文本如下:{
inputNode: "testNodeld",//輸入框的ID,用于獲取輸入值rules:[
{
type: "required", //校驗(yàn)規(guī)則I為輸入值不能為空 errorMessage: ”此值必須輸入” //未通過(guò)校驗(yàn)時(shí)的錯(cuò)誤提示信息
},
{
type: " customFunc ”,//校驗(yàn)規(guī)則2為輸入值必須包含字符串“china” param: funct ion(val) {
iffval.1ndcxOfi ‘china, )>-l) //這里才彳斷輸入值中是
否含有‘china,
return true;else
return false;
}
errorMessage: ”此輸入 值必須為含有china"
},
]
}實(shí)施例四配置文本中也可以組合各種校驗(yàn)規(guī)則,具有可擴(kuò)展性;瀏覽器將對(duì)配置文本中的校驗(yàn)規(guī)則進(jìn)行依次校驗(yàn)。當(dāng)有批量的輸入值需要進(jìn)行校驗(yàn)時(shí),只需在配置文本中批量配置輸入框ID對(duì)應(yīng)的校驗(yàn)規(guī)則即可,例如:
權(quán)利要求
1.一種表單校驗(yàn)方法,其特征在于,該方法包括: 依據(jù)用戶提交的表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則; 依據(jù)獲取的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶顯示錯(cuò)誤提示信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述校驗(yàn)規(guī)則對(duì)應(yīng)以下規(guī)則類型:無(wú)參數(shù)的規(guī)則類型、單參數(shù)的規(guī)則類型、異步請(qǐng)求方式的規(guī)則類型、自定義函數(shù)方式的規(guī)則類型或關(guān)聯(lián)方式的規(guī)則類型。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)無(wú)參數(shù)的規(guī)則類型時(shí),瀏覽器驗(yàn)證輸入框中輸入值的格式是否滿足所述校驗(yàn)規(guī)則所描述的格式,并在輸入值不滿足校驗(yàn)規(guī)則所描述的格式時(shí),向用戶顯示錯(cuò)誤提示信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)單參數(shù)的規(guī)則類型時(shí),瀏覽器驗(yàn)證輸入框中的輸入值是否同時(shí)滿足所述校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小,并在輸入值不同時(shí)滿足校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小時(shí),向用戶顯示錯(cuò)誤提示信息。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)異步請(qǐng)求方式的規(guī)則類型時(shí),瀏覽器依據(jù)校驗(yàn)規(guī)則中服務(wù)器的服務(wù)地址將輸入值發(fā)送給服務(wù)器; 瀏覽器調(diào)用校驗(yàn)規(guī)則中轉(zhuǎn)換函數(shù),將服務(wù)器返回的校驗(yàn)結(jié)果作為所述轉(zhuǎn)換函數(shù)的輸入?yún)?shù),所述轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值; 如果是真值,瀏覽器判斷出所述輸入值通過(guò)服務(wù)器的校驗(yàn);如果是假值,瀏覽器判斷出所述輸入值沒(méi)有通過(guò)服務(wù)器的校驗(yàn),向用戶顯示錯(cuò)誤提示信息。
6.根據(jù)權(quán)利要求5所述的方`法,其特征在于,轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值的方法為: 轉(zhuǎn)換函數(shù)對(duì)服務(wù)器的校驗(yàn)結(jié)果進(jìn)行識(shí)別,如果識(shí)別結(jié)果為校驗(yàn)成功,則轉(zhuǎn)換函數(shù)輸出真值,如果識(shí)別結(jié)果為校驗(yàn)失敗,則轉(zhuǎn)換函數(shù)輸出假值。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)自定義函數(shù)的規(guī)則類型時(shí),瀏覽器將輸入框中輸入值作為校驗(yàn)規(guī)則中輸入值處理函數(shù)的輸入?yún)?shù); 如果輸入值處理函數(shù)返回真值,瀏覽器判斷出所述輸入值通過(guò)校驗(yàn),如果輸入值處理函數(shù)返回假值,瀏覽器判斷出所述輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)關(guān)聯(lián)方式的校驗(yàn)規(guī)則時(shí),瀏覽器調(diào)用校驗(yàn)規(guī)則中的判斷處理函數(shù),將輸入值和校驗(yàn)規(guī)則中的關(guān)聯(lián)值作為判斷處理函數(shù)的輸入?yún)?shù); 判斷處理函數(shù)對(duì)輸入值和關(guān)聯(lián)值進(jìn)行邏輯判斷,如果判斷處理函數(shù)返回真值,則瀏覽器判斷出輸入值通過(guò)校驗(yàn),如果判斷處理函數(shù)返回假值,則瀏覽器判斷出輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。
9.一種表單校驗(yàn)系統(tǒng),其特征在于,該系統(tǒng)包括:瀏覽器、服務(wù)器;瀏覽器進(jìn)一步包括規(guī)則獲取單元和輸入值校驗(yàn)單元;其中, 規(guī)則獲取單元,用于依據(jù)用戶提交的表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則; 輸入值校驗(yàn)單元,用于依據(jù)規(guī)則獲取單元獲取的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶顯示錯(cuò)誤提示信息。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述校驗(yàn)規(guī)則對(duì)應(yīng)以下規(guī)則類型:無(wú)參數(shù)的規(guī)則類型、單參數(shù)的規(guī)則類型、異步請(qǐng)求方式的規(guī)則類型、自定義函數(shù)方式的規(guī)則類型或關(guān)聯(lián)方式的規(guī)則類型。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)無(wú)參數(shù)的規(guī)則類型時(shí),驗(yàn)證輸入框中輸入值的格式是否滿足所述校驗(yàn)規(guī)則所描述的格式,并在輸入值不滿足校驗(yàn)規(guī)則所描述的格式時(shí),向用戶顯示錯(cuò)誤提示信息。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)單參數(shù)的規(guī)則類型時(shí),驗(yàn)證輸入框中的輸入值是否同時(shí)滿足所述校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小,并在輸入值不同時(shí)滿足校驗(yàn)規(guī)則所描述的格式和參數(shù)值大小時(shí),向用戶顯示錯(cuò)誤提示信息。
13.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)異步請(qǐng)求方式的規(guī)則類型時(shí),依據(jù)校驗(yàn)規(guī)則中服務(wù)器的服務(wù)地址將輸入值發(fā)送給服務(wù)器; 調(diào)用校驗(yàn)規(guī)則中轉(zhuǎn)換函數(shù),將服務(wù)器返回的校驗(yàn)結(jié)果作為所述轉(zhuǎn)換函數(shù)的輸入?yún)?shù),所述轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值; 如果是真值,判斷出所述輸入值通過(guò)服務(wù)器的校驗(yàn);如果是假值,判斷出所述輸入值沒(méi)有通過(guò)服務(wù)器的校驗(yàn),向用戶顯示錯(cuò)誤提示信息。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,轉(zhuǎn)換函數(shù)將服務(wù)器返回的校驗(yàn)結(jié)果轉(zhuǎn)換成真值或假值具體包括: 轉(zhuǎn)換函數(shù)對(duì)服務(wù)器的校驗(yàn)結(jié)果進(jìn)行識(shí)別,如果識(shí)別結(jié)果為校驗(yàn)成功,則轉(zhuǎn)換函數(shù)輸出真值,如果識(shí)別結(jié)果為校驗(yàn)失敗,則轉(zhuǎn)換函數(shù)輸出假值。
15.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)自定義函數(shù)的規(guī)則類型時(shí),將輸入框中輸入值作為校驗(yàn)規(guī)則中輸入值處理函數(shù)的輸入?yún)?shù); 如果輸入值處理函數(shù)返回真值,判斷出所述輸入值通過(guò)校驗(yàn),如果輸入值處理函數(shù)返回假值,判斷出所述輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。
16.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述輸入值校驗(yàn)單元具體用于,當(dāng)獲取的校驗(yàn)規(guī)則對(duì)應(yīng)關(guān)聯(lián)方式的校驗(yàn)規(guī)則時(shí),調(diào)用校驗(yàn)規(guī)則中的判斷處理函數(shù),將輸入值和校驗(yàn)規(guī)則中的關(guān)聯(lián)值作為判斷處理函數(shù)的輸入?yún)?shù); 判斷處理函數(shù)對(duì)輸入值和關(guān)聯(lián)值進(jìn)行邏輯判斷,如果判斷處理函數(shù)返回真值,則判斷出輸入值通過(guò)校驗(yàn),如果判斷處理函數(shù)返回假值,則判斷出輸入值沒(méi)有通過(guò)校驗(yàn),向用戶顯示錯(cuò)誤提示信息。
全文摘要
本發(fā)明提供了一種表單校驗(yàn)方法,包括依據(jù)用戶提交的表單中輸入框ID從服務(wù)器預(yù)設(shè)的配置文本中獲取對(duì)應(yīng)的校驗(yàn)規(guī)則;依據(jù)獲取的校驗(yàn)規(guī)則對(duì)表單中輸入值進(jìn)行校驗(yàn),并當(dāng)校驗(yàn)失敗時(shí)向用戶顯示錯(cuò)誤提示信息;本發(fā)明還提供一種表單校驗(yàn)系統(tǒng)。本發(fā)明提供的技術(shù)方案用以對(duì)表單進(jìn)行自動(dòng)化校驗(yàn),提高表單的校驗(yàn)效率。
文檔編號(hào)G06F17/22GK103106186SQ201310024168
公開(kāi)日2013年5月15日 申請(qǐng)日期2013年1月22日 優(yōu)先權(quán)日2013年1月22日
發(fā)明者雷凱華, 白旭 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南京市| 尖扎县| 河源市| 深水埗区| 龙泉市| 沾化县| 龙山县| 石狮市| 玉屏| 定兴县| 潮州市| 同心县| 额济纳旗| 甘孜县| 龙胜| 墨脱县| 鹿邑县| 靖西县| 江门市| 南开区| 东乡族自治县| 定远县| 琼中| 芮城县| 南江县| 玉龙| 武安市| 潜江市| 芷江| 红桥区| 大关县| 昆明市| 修文县| 红河县| 建湖县| 永城市| 曲松县| 广灵县| 广宁县| 神农架林区| 泰顺县|