ASP.NET 核心:由于相关的 ICollections,模型无效
ASP.NET Core: model invalid due to related ICollections
提交我的 post 请求时,由于相关实体为空,ModelState.IsValid
始终是 false
。
[Key]
[Required()]
public int ID {get; set;}
[MaxLength(20)]
[Required()]
public string NAME {get; set;}
public ICollection<ActorMovieJunction> NameJobJunction {get; set;}
ID
和 NAME
在状态模型中都显示为有效,但 NameJobJunction
为“null”会产生错误。
我也在使用 [BindProperty]
标签
我认为问题出在新的可空功能 net6。我强烈建议您将其删除或在项目属性中发表评论
<!--<Nullable>enable</Nullable>-->
或者您必须将所有可为空的属性标记为可为空。
public ICollection<ActorMovieJunction>? NameJobJunction {get; set;}
恕我直言,从不在控制器操作参数中使用 [Bind]。
你可以尝试给NameJobJunction
一个默认值:
public ICollection<ActorMovieJunction> NameJobJunction {get; set;}=new List<ActorMovieJunction>();
提交我的 post 请求时,由于相关实体为空,ModelState.IsValid
始终是 false
。
[Key]
[Required()]
public int ID {get; set;}
[MaxLength(20)]
[Required()]
public string NAME {get; set;}
public ICollection<ActorMovieJunction> NameJobJunction {get; set;}
ID
和 NAME
在状态模型中都显示为有效,但 NameJobJunction
为“null”会产生错误。
我也在使用 [BindProperty]
标签
我认为问题出在新的可空功能 net6。我强烈建议您将其删除或在项目属性中发表评论
<!--<Nullable>enable</Nullable>-->
或者您必须将所有可为空的属性标记为可为空。
public ICollection<ActorMovieJunction>? NameJobJunction {get; set;}
恕我直言,从不在控制器操作参数中使用 [Bind]。
你可以尝试给NameJobJunction
一个默认值:
public ICollection<ActorMovieJunction> NameJobJunction {get; set;}=new List<ActorMovieJunction>();