0
私はデータで検証する簡単なプログラムを持っていますが、別のデータアノテーションのためにMetadataTypeを使用するときは、常に検証が真です。なぜコードの下の結果が常に真実なのか?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();
}
}