【发布时间】:2023-03-23 08:28:01
【问题描述】:
假设我有一个这样的视图模型:
public class User
{
public int Id { get; set; }
[Required(ErrorMessage="Username is required")]
public string Username { get; set; }
[Range(0, 255)]
public int Owner { get; set; }
}
页面被提交到它的控制器,在那里我检查 ModelState.IsValid,但是它没有通过。显然,所有者是必需的。这是为什么?我认为未分配的 int 的默认值是 0。如果我调试应用程序并检查发送到控制器的对象,该值确实是 0。
如果我不想强制用户输入 0,最好的方法是什么?我尝试将 [DefaultValue(0)] 属性添加到类中的 Owner 属性,但它似乎没有任何区别。
即使这是一个新手或习惯于概念的琐碎问题,也可以提供一些指导。
问候,
【问题讨论】:
标签: asp.net-mvc validation integer default-value optional