我想检查表单中的枚举字段。该字段是必填字段。以下是我定义枚举的方法:
public enum Categories
{
A = 1,
B = 2,
C = 3
}
和我的ViewModel的属性:
[Required(ErrorMessage = "It is mandatory!")]
[EnumDataType(typeof(Categories), ErrorMessage="Unknown category")]
[DisplayName("Category A")]
public Categories Category { get; set; }
我想在客户端验证这一点。但是在开始时,当我尝试使用Category创建一个对象时,类别值为0(类别的EditTemplate是一个Combobox)。这意味着,我应该收到消息“这是强制性的!”,不是吗?但是,我没有得到任何消息称字段类别是强制性的。我无法理解RequiredAttribute如何与Enumeration字段一起使用。
答案 0 :(得分:1)
enum
是值类型而不是引用类型。 Required
检查null,并且只获得带引用类型的空值。
您可以尝试:
public class Categories { }