获取自定义ValidationAttribute以使用web api 2

时间:2014-02-11 18:26:15

标签: c# asp.net-web-api

使用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: 还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

抱歉,我不知道为什么或如何,但进一步的测试表明代码确实在我的真实场景中被调用。只是不在我的测试设置中。一定是在某个地方犯了一些错误。 回答我的第一个问题: 不,除了使用该属性之外,还不需要做任何额外的工作来使自定义验证器工作。 奇怪的是,调试似乎不起作用......