首页 > 解决方案 > 为什么 dataAnnotations 对 Stuent 的 CourseList 属性无效?

问题描述

当我使用 dataSystem.ComponentModel.DataAnnotations时,我遇到了问题。我定义了一个包含 2 个属性的 Student 类;一个是 Name 属性,另一个是 CourseList 属性;当我使用 Validator.TryValidateObject 方法验证 Sutent 实例时,对 CourseList 没有影响。谁能帮我

using System;
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
namespace C
{
    class Program
    {
        static void Main(string[] args)
        {
            var user = new Stuent();
            var context = new ValidationContext(user, null, null);
            var results = new List<ValidationResult>();
            Validator.TryValidateObject(user, context, results, true);
       }
}
public class Stuent
{
    [Required]
    public string Name { get; set; }

    public List<Course> CourseList { get; set; }

}
public class Course
{
    [Required]
    public string CourseName { get; set; }

}

}

点击鼠标点击我

标签: c#.netvalidationdata-annotationscomponentmodel

解决方案


您必须创建自定义验证属性来验证您的 CourseList 属性。

我对您的上述代码进行了一些更改,并创建了一个自定义验证属性。请检查此链接

您可以运行并检查此代码,当您不为 CourseName 属性赋值时,它会显示验证消息。


推荐阅读