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