【发布时间】:2016-11-09 17:57:13
【问题描述】:
我有一个简单的程序可以使用数据注释进行验证,但是当我使用 MetadataType 进行单独的数据注释时,结果验证总是正确的。为什么下面代码的结果总是正确的?
public partial class User
{
public string FullName { get; set; }
}
[MetadataType(typeof(UserMetadata))]
public partial class User
{
}
public class UserMetadata
{
[Required]
[MinLength(2)]
public string FullName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var u = new User
{
// must raise error
FullName = "A"
};
var context = new ValidationContext(u, null, null);
var list = new List<ValidationResult>();
var isCorrect = Validator.TryValidateObject(u, context, list, true);
// isCorrect always is True
Console.WriteLine(isCorrect);
Console.ReadKey();
}
}
【问题讨论】:
标签: c# validation oop console-application data-annotations