在使用MVC的System.ComponentModel.DataAnnotations数据验证时,如果属性中有引用类型(object,string,dynamic,自定义类型等),并且没有赋值时,就会一直为false。报错为the 属性名 field is required.
其原因是,引用类型没有设置为可空类型。
解决办法有2种
1 设置属性为可空类型。 public object? prop {get;set;}
2 编辑项目文件,把 <Nullable>enable</Nullable> 去掉