我正在使用 Microsoft 企业验证。但在这种情况下,测试通过了,即使我为该属性分配了空值。为什么?
[NotNullValidator(MessageTemplate = "Cannot be null!", Ruleset="validate_x")]
[StringLengthValidator(10, RangeBoundaryType.Inclusive, 40, RangeBoundaryType.Inclusive, Ruleset="validate_x")]
[RegexValidator(@"^[A-Z][a-z]*\s[A-Z][a-z]*$", MessageTemplate = "Not valid!", Ruleset="validate_x")]
public string x
{
get;
set;
}
在测试类中:
[TestMethod()]
public void xTest()
{
MyBO target = new MyBO() { x = null };
ValidationResults vr = Validation.Validate<MyBO>(target, "validate_x");
Assert.IsTrue(vr.IsValid);
}
所以我知道这是有效的,但它不应该是。(x 为空!)有什么想法吗?
谢谢