2010-05-06 65 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方法,而不是。