2011-10-17 27 views
2

我發展,這將適用於應用對象的實例,一些驗證規則驗證助手類應用一些驗證對象上的圖案。 我發現了大約Hibernate驗證關於C#的問題,而是什麼呢?我需要在C#中

+0

你檢查[NHibernate的驗證器(http://stackoverflow.com/questions/tagged/nhibernate-validator)? –

+0

@FredrikMörk>>不,我沒有,我會和回信,感謝 –

+0

它的強大,但不知何故,複雜的,需要大量的閱讀:( –

回答

2

最佳做法是,你應該驗證規則申報到使用System.ComponentModel.DataAnnotation您的模型/實體 - 這會不會烤驗證這始終是很好的實施。

然後使用驗證框架,這是不是一個艱難的選擇,並且取決於您使用其它技術。例如,如果您使用MVC,那麼它具有內置機制,或者如果您使用EF,那麼它將爲您執行此操作。

編輯

例子:

公共類NursingTreatment {

[DataType(DataType.Time)] 
    public DateTime? SomeDate { get; set; } 

    [StringLength(500, ErrorMessage = "This field may not be longer than 500 characters.")] 
    public string LongText{ get; set; } 


} 
+0

註解只能用如果用戶不允許在運行期間更改驗證規則... –

+0

沒錯,但我說的病例約99%,其中規則是**域的一部分** - 因此不會改變 – Aliostad

+0

那麼它是不是真的99%百分比的至少行業我的工作。 ... ;-) –

0

答案可能取決於框架。例如,如果使用WPF,則可以實現IDataErrorInfo接口,或者在綁定中引發異常並使用ValidatesOnExceptions。