與此相關的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