2010-05-06 64 views
0

在我的房產我需要一個電子郵件地址驗證。但[Datatype(DataType.EmailAddress)]無法正常工作。如何糾正相同。數據類型attribure實施

回答

0

當你不是在需要執行驗證的太清楚,但假設你有一個這樣的類:

public class MyClass 
{ 
    [DataType(DataType.EmailAddress)] 
    public string EmailAddress { get; set; } 
} 

EmailAddress屬性的驗證不上的設置發生財產。

但是,您可以通過使用在Validator class方法觸發驗證:

// The instance. 
var myClass = new MyClass { EmailAddress = "[email protected]", }; 

// The context for validation. 
var context = new ValidationContext(myClass, null, null); 

// Validates the property. 
Validator.ValidateValue(myClass.EmailAddress, context, 
    new ValidationAttribute[] { new DataTypeAttribute(DataType.EmailAddress), }); 

當然,這違背了聲明類聲明的屬性的目的。您可以驗證整個階級的國家,像這樣:

// Using same myClass and context declarations: 
Validator.ValidateObject(myClass, context); 

如果你喜歡不try/catch Exception情況下,那麼你可以使用Try*版本的Validate方法,而不是。