2011-12-18 62 views
1

在ASP.NET MVC 3中,我可以使用一組特殊的驗證屬性來進行客戶端和服務器端模型驗證。Silverlight中內置的TextBox驗證器

TextBox控件的Silverlight開箱即用提供了類似的東西嗎?如果我想檢查Silverlight文本框用戶是否已經編輯爲空,我是否需要自己實現這個邏輯?

+0

據我記得,如果你綁定一個double或datetime屬性到文本框並輸入一個隨機字符串 - 它將顯示與轉換有關的驗證錯誤。但是你應該自己編寫空值的驗證規則。 – vorrtex 2011-12-18 12:04:32

回答

1

System.ComponentModel.DataAnnotations命名空間中有許多屬性可用於驗證。這些屬性應用於將TextBox的Text綁定到的view-model屬性。

這些屬性不做任何服務器端驗證,但這可能不是太多的問題。通過在瀏覽器中禁用JavaScript,您可以避開ASP.NET MVC(或任何Web應用程序)中的客戶端驗證。但是,在Silverlight應用程序中迴避驗證要困難得多 - 禁用Silverlight插件將禁用整個Silverlight應用程序。

+0

這可能是我對英語的理解是「表現不好」,但是您確定您的答案與以下問題相關:「Silverlight TextBox Control中是否有內置的驗證機制」? – 2011-12-18 14:13:32

+0

@ MaximV.Pavlov:我相信我的回答是相關的。驗證不在TextBox控件本身中,但在絕大多數情況下,您將將TextBox的Text屬性綁定到視圖模型圖層中的屬性,並且此屬性可以具有我提到的屬性。如果你不認爲這個答案是相關的,請解釋爲什麼不。 – 2011-12-18 14:32:50

+0

我同意。只是想確保你正確理解我的問題。使用屬性驗證視圖模型/模型屬性的確與用戶界面層無關。感謝您的回答和評論。 – 2011-12-18 19:21:27