原創(chuàng)|對(duì)比評(píng)測(cè)|編輯:我只采一朵|2014-01-02 10:21:58.000|閱讀 488 次
概述:本文評(píng)測(cè)了DevExpress 2013.2在List View、Web Application等地方添加的靈活驗(yàn)證機(jī)制。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExpress 2013.2正式版已經(jīng)發(fā)布一段時(shí)間了,試用版出來之后我就迫不及待的下載下來試用了一下。下面我想跟大家分享一下我的一些試用體會(huì)。
在2013.2中,DevExpress 的驗(yàn)證引擎新增支持警告/確認(rèn)消息,警告可用于處理不尋常的但有效的數(shù)據(jù)輸入,比如:
The date of birth results in an age of over 100. Are you sure?
這里年齡的輸入為100但這是不合常理的,所以這里雖然不會(huì)直接禁止掉這種輸入,但DevExpress會(huì)給出一個(gè)驗(yàn)證機(jī)制,讓用戶確認(rèn)之后再保存。
接下來嘗試將這個(gè)規(guī)則加入MainDemo中,打開Validation的模型和導(dǎo)航,添加一個(gè)RuleValueComparison,具體配置如下:
點(diǎn)擊查看大圖
當(dāng)然你也可以在Birthday屬性上定義這個(gè)規(guī)則,效果是一樣的,代碼如下:
[RuleValueComparison("IsOlderThan100_Warning", DefaultContexts.Save, ValueComparisonType.GreaterThan, "AddYears(Now(), -100)", "Birthday makes this Contact older than 100. Are you sure?", ParametersMode.Expression, ResultType = ValidationResultType.Warning)]
注意新的ResultType參數(shù)要設(shè)置為ValidationResultType.Warning。
另一個(gè)典型的應(yīng)用是如何更好的處理重復(fù),可以參考以下代碼:
[RuleCombinationOfPropertiesIsUnique("DuplicateName_Warning", DefaultContexts.Save, "LastName;FirstName", "There is already a Contact with the name {FullName}. Are you sure?", ResultType = ValidationResultType.Warning)] public class Contact : Person { //etc ...
這里如果添加另一個(gè)John Nilsen就會(huì)出現(xiàn)以下效果:
點(diǎn)擊查看大圖
經(jīng)測(cè)試后發(fā)現(xiàn),List Views里面也支持比較靈活的驗(yàn)證機(jī)制,連多選情況下都支持。不過我發(fā)現(xiàn)這個(gè)版本中還有些地方運(yùn)行不是很順暢,只能期待DevExpress在下一個(gè)版本中能將這個(gè)問題解決。下面跟大家舉個(gè)例子:為一個(gè)類添加規(guī)則:
[RuleCriteria("Deletion_Warning", DefaultContexts.Delete, "1=0", "Warning! Are you sure?", ResultType = ValidationResultType.Warning)]
然后選中所有的聯(lián)系方式然后按下Delete,確認(rèn)窗口之后,我看到了這個(gè):
另外一個(gè)值得一提的是Web應(yīng)用程序,它也支持驗(yàn)證規(guī)則,它的警告信息時(shí)這樣的:
點(diǎn)擊查看大圖
其實(shí)我更愿意看到一個(gè)Confirm按鈕而不是Ignore復(fù)選框。我覺得如果同時(shí)出現(xiàn)幾個(gè)警告和錯(cuò)誤的話,當(dāng)前的窗口可以全部顯示出來,而如果沒有錯(cuò)誤的話就最好不要出現(xiàn)警告。
以上便是我對(duì)DevExpress 13.2的一些使用體驗(yàn)。這個(gè)版本主要是將精力放在了功能優(yōu)化上,有了更好的報(bào)表,更好的驗(yàn)證機(jī)制,而不是專注于新模塊的開發(fā),我想這應(yīng)該是2014版本的主要任務(wù)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件