与此相关的question定制DataTypeAttribute不触发验证正确
我已经创建了自己的DateValidationAttibute,以确保一个字符串是一个有效的日期格式(例如,MM/DD/YYYY)
我试图用此代码测试此属性
[Test]
public void Test()
{
var invalidObject = new TestValidation {DateField = "bah"};
var validationContext = new ValidationContext(invalidObject, null, null);
var validationResults = new System.Collections.Generic.List<ValidationResult>();
bool result = Validator.TryValidateObject(invalidObject, validationContext, validationResults);
Assert.IsFalse(result);
Assert.AreEqual(1, validationResults.Count);
}
private class TestValidation
{
[DateValidation(ErrorMessage = "Invalid Date!")]
public string DateField { get; set; }
}
不幸的是,这是行不通的。我在DateValidationAttribute构造函数和IsValid方法中放置了一个断点。它肯定会碰到构造函数,但从不碰到IsValid方法。有任何想法吗?
更改我的示例以从ValidationAttribute进行扩展并没有帮助。请记住,DataTypeAttribute已经从ValidationAttribute扩展。 – manu08 2010-10-30 19:25:06