1

使用驗證應用程序塊,有以下功能:DataAnnotations中的SelfValidation?

  1. 創建自定義屬性
  2. 的類型創建SelfValidation
  3. 能力從外部配置文件讀取

我打算使用DataAnnotations替換驗證應用程序塊。 DataAnnotations有以上可能嗎?如果是這樣,我如何實施它們?

任何幫助表示讚賞

+0

VAB 5.0(剛發佈)允許驗證DataAnnotations屬性。這對你來說可能很有趣。這使您可以使用VAB作爲驗證框架,但使用.NET通用聲明。 – Steven 2010-04-24 15:07:20

回答

1

是的,他們是可能的。

創建一個非常簡單的自定義屬性;

public class IsApplicantOldEnoughAttribute : ValidationAttribute 
{ 
    public override bool IsValid(object value) 
    { 
     if (value == null) return false; 
     DateTime enteredDate; 

     try 
     { 
      enteredDate = (DateTime)value; 
     } 
     catch 
     { 
      return false; 
     } 
     if ((DateTime.Today.Year - enteredDate.Year) >= 14) 
      return true; 
     else 
      return false; 
    } 
} 

從配置文件讀取與從配置文件中讀取的任何代碼相同。

雖然不確定自我驗證的意思。你可以請我填寫,我會試着舉個例子。

+0

@griegs檢查DateTime.TryParse()方法。 http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx – Ryan 2010-04-21 03:33:01

+0

@griegs - SelfValidation是一種在類型級別應用驗證的方法。另外,是否可以使用DataAnnotations來執行規則集? – DotnetDude 2010-04-21 13:55:04