0
我有简单的程序,用数据anotatoin进行验证,但是当我使用MetadataType进行单独的数据转换时,resualt验证总是成立。为什么下面的代码结果总是如此?如何在c#中使用数据注释进行验证?
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();
}
}