gpt4 book ai didi

asp.net-mvc - 对于空的非必填字段,ModelState 被标记为无效

转载 作者:行者123 更新时间:2023-12-04 01:26:50 25 4
gpt4 key购买 nike

有点神秘。我有一个带有 Year 属性的 View 模型:

public class TradeSpendingSalesViewModel
{
public string ProductCode { get; set; }
public IEnumerable<SelectListItem> AllowTypeSelect { get; set; }
public string AllowType { get; set; }
public IEnumerable<SelectListItem> YearsSelect { get; set; }
public int Year { get; set; }
}

如果我将一个空的 View 模型发布到我的 Controller :
[HttpPost]
public ActionResult Index(TradeSpendingSalesViewModel vm)
{
var allErrors = ModelState.Values.SelectMany(v => v.Errors);
foreach (var e in allErrors)
{
Response.Write(e.ErrorMessage);
}
}

然后我收到一个错误消息:“年份字段是必需的。”

因为我还没有用 Required 注释 View 模型的年份字段属性,我不清楚为什么会产生这个错误。

有什么想法吗?

最佳答案

我的第一个猜测是它会抛出一个异常,即您没有设置年份并且它为空?如果您将 year 设为 Nullable 是否不会抛出所需的消息?

我仍然不希望它是必需的,这是在黑暗中的一个镜头

关于asp.net-mvc - 对于空的非必填字段,ModelState 被标记为无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com