国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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

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