在MVC之外使用ASP.Net MVC数据注释

我想知道是否有一种方法可以在没有MVC网站的情况下使用ASP.Net的数据注释。

我的例子是我有一个曾经创建过的类需要validation,否则会抛出错误。 我喜欢数据注释方法,而不是initaliser触发的一堆if块。

有没有办法让这个工作?

我以为它会是这样的:

  • 添加数据注释
  • 在初始化器中触发一个方法,该方法在类上调用MVCvalidation器

有任何想法吗? 我必须承认我还没有将MVC框架添加到我的项目中,因为我希望我可以使用数据注释类System.ComponentModel.DataValidation

这是一个例子:

using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; public class Foo { [Required(ErrorMessage = "the Bar is absolutely required :-)")] public string Bar { get; set; } } class Program { public static void Main() { var foo = new Foo(); var results = new List(); var context = new ValidationContext(foo, null, null); if (!Validator.TryValidateObject(foo, context, results)) { foreach (var error in results) { Console.WriteLine(error.ErrorMessage); } } } } 

但说实话, FluentValidationfunction更强大。