我可以在没有View的情况下进行ASP.NET MVC模型验证吗?

时间:2014-09-15 03:53:51

标签: asp.net-mvc

我可以在没有MVC视图的情况下利用ASP.NET MVC模型验证(例如使用DataAnnotations)(因此没有使用视图获得的自动模型绑定魔法)吗?

作为一个例子,我可能有一个webhook直接命中控制器动作 - 没有视图 - 我手动填充我的模型,但我仍然希望在我的模型属性上获得DataAnnotation验证的好处。

1 个答案:

答案 0 :(得分:4)

DataAnnotation是随.Net Framework一起提供的System.ComponentModel.DataAnnotations.dll的一部分。

请随意使用。

您给我的示例看起来您希望通过WebApi公开Business Logic。

简短回答是,你可以使用。

然而,最重要的是,通过介绍WebApi来了解扩展您的体系结构,以便共享MVC和WebApi之间的代码。

public class Recipe
{
    [Required]
    public string Name { get; set; } 
}


var recipe = new Recipe();
var context = new ValidationContext(recipe, serviceProvider: null, items: null);
var results = new List<ValidationResult>();

var isValid = Validator.TryValidateObject(recipe, context, results);

if (!isValid)
{
    foreach (var validationResult in results)
    {
        Console.WriteLine(validationResult.ErrorMessage);
    }
}

参考:http://odetocode.com/blogs/scott/archive/2011/06/29/manual-validation-with-data-annotations.aspx

enter image description here