MVC 模型状态验证失败,为空值
本文关键字:空值 失败 验证 模型 状态 MVC | 更新日期: 2023-09-27 18:35:28
如果我有以下模型:
public class Model
{
public int ModelID { get; set; }
public string Title { get; set; }
public DateTime Created { get; set; }
}
以及以下控制器方法:
public ActionResult Create(Model model)
{
if (ModelState.IsValid)
{
model.Created = DateTime.Now;
// Save to DB
}
}
在视图中,"已创建"字段是隐藏的,因为我希望它填充调用 Create 控制器方法时的时间戳。由于模型的原因,这将失败模型状态验证。创建的属性为空。
我不想制作模型。创建的属性可为空,但我需要以某种方式指定视图中不需要此字段。有人可以建议如何完成此操作吗?
您需要
使用 [Bind]
属性从绑定中排除 Created
属性,如下所示:
public ActionResult Create([Bind(Exclude = "Created")] Model model)
{
....
}
出于安全原因,也建议这样做,因为您不希望客户端为您设置Created
值。