WebAPI - 如何在动作/请求之外调用模型验证?

WebAPI - 如何在动作/请求之外调用模型验证?

问题描述:

有谁知道如何通过模型状态验证机制简单地运行模型实例?WebAPI - 如何在动作/请求之外调用模型验证?

我只是想重用系统的东西不同。我有一些模型可以读取配置文件,我想用数据注释属性来修饰它们,并验证配置文件是否正确安装。

然后你想运行System.ComponentModel.DataAnnotations.Validator。我认为这是在引擎盖下所称的。

说你有一个这样的类:

public class Customer 
{ 
    [Required] 
    public string FirstName { get; set; } 
} 

然后,您可以通过运行下面的代码验证此对象:

[Test] 
public void Test() 
{ 
    var customer = new Customer(); 
    var results = new List<ValidationResult>(); 
    var valid = Validator.TryValidateObject(customer, new ValidationContext(customer), results, true); 

    valid.ShouldBe(false); 
    results.Count.ShouldBe(1); 
} 
+0

这个答案适合我的使用情况,但感兴趣的人ASP.NET如何执行此操作,请查看http://bradwilson.typepad.com/blog/2010/10/service-location-pt6-model-validation.html –