W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
校驗(yàn)器一共支持四種校驗(yàn)級(jí)別設(shè)置:info,ok,warn,error??梢酝ㄟ^(guò)校驗(yàn)器的defaultResultState屬性設(shè)定:
當(dāng)數(shù)據(jù)校驗(yàn)不通過(guò)時(shí),不同的defaultResultState在瀏覽器中有不同的顯示效果:
默認(rèn)的校驗(yàn)級(jí)別都是error.
sample.chapter07的Products范例中中,如果我們不輸入產(chǎn)品名稱(chēng),且把產(chǎn)品價(jià)格修改為5,再單擊“確定”按鈕進(jìn)行數(shù)據(jù)保存時(shí),則數(shù)據(jù)校驗(yàn)未通過(guò)會(huì)出現(xiàn)錯(cuò)誤提示:
通過(guò)這種機(jī)制,確??蛻舳藷o(wú)法直接將未通過(guò)校驗(yàn)的數(shù)據(jù)發(fā)送到服務(wù)器端進(jìn)行存儲(chǔ)。
如果我們希望一個(gè)表單中部分編輯框做數(shù)據(jù)校驗(yàn)的時(shí)候給用戶一些提示信息,但是如果用戶最終沒(méi)有完全按照我們的要求輸入信息,并且要允許用戶保存數(shù)據(jù)。則我們可以利用校驗(yàn)級(jí)別實(shí)現(xiàn)這個(gè)功能。將部分校驗(yàn)器的校驗(yàn)級(jí)別調(diào)整為error之外的級(jí)別。
例如我們?cè)诿Q(chēng)為productName的PropertyDef中添加一個(gè)LengthValidator,并設(shè)定屬性如下:
我們?cè)O(shè)定productName的長(zhǎng)度要求在4到20個(gè)字符,并且設(shè)定其defaultResultState的屬性為info。
刷新原來(lái)的頁(yè)面,并編輯其中的一個(gè)產(chǎn)品,將其中的產(chǎn)品名稱(chēng)修改為3個(gè)字符以內(nèi),就能看到下圖中的提示信息。
但是由于其校驗(yàn)級(jí)別被設(shè)置為info,因此當(dāng)我們單擊確定按鈕的時(shí)候還是可以繼續(xù)完成保存動(dòng)作。
上例中,當(dāng)我們降低一個(gè)校驗(yàn)器的defaultResultState就可以保證數(shù)據(jù)的提交,系統(tǒng)默認(rèn)為error才不允許提交,這個(gè)默認(rèn)約定是通過(guò)DataType的acceptValidationState屬性控制的,
可以根據(jù)實(shí)際需要調(diào)整這個(gè)屬性的設(shè)定。
例如我們將DataType的acceptValidationState屬性修改為warn:
另外再調(diào)整DataType下unitPrice的RangeValidator屬性:
保存當(dāng)前視圖的配置。
并刷新之前的網(wǎng)頁(yè)做測(cè)試
產(chǎn)品價(jià)格中輸入0,我們可以看到一個(gè)警告信息,另單擊保存按鈕會(huì)發(fā)現(xiàn)由于有warn級(jí)別的數(shù)據(jù)校驗(yàn)沒(méi)有通過(guò),導(dǎo)致最終的數(shù)據(jù)保存無(wú)法通過(guò)。# 數(shù)據(jù)校驗(yàn)級(jí)別
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: