使用c#WebApi2.1我遇到了以下问题。尝试使用自定义验证属性。
public class NullableDateTimeAsStringAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return new ValidationResult("Do this to see if this get called ...");
}
}
我用这样的属性注释了一个模型:
public class Tiger
{
public String name;
[NullableDateTimeAsString]
public String BirthDay;
}
绑定工作。
问题是代码没有被调用... HttpGet返回时没有验证错误......
问题1: 我是否需要做一些特定的事情来使这个自定义验证属性起作用,或者在模型上使用该属性后它是否可以工作?
问题2: 还有其他想法吗?
答案 0 :(得分:0)
抱歉,我不知道为什么或如何,但进一步的测试表明代码确实在我的真实场景中被调用。只是不在我的测试设置中。一定是在某个地方犯了一些错误。 回答我的第一个问题: 不,除了使用该属性之外,还不需要做任何额外的工作来使自定义验证器工作。 奇怪的是,调试似乎不起作用......