C# 隐藏int属性验证
我正在尝试验证隐藏整数属性,您能建议更好的方法吗C# 隐藏int属性验证,c#,.net,asp.net-mvc,validation,C#,.net,Asp.net Mvc,Validation,我正在尝试验证隐藏整数属性,您能建议更好的方法吗 public class Model { [Display(Name="Theme"),Required(ErrorMessage="Please choose your theme")] public int ThemeId { get; set; } } 鉴于 @Html.Hidden(m=>m.ThemeId) 这个输出 问题是当前此字段有效,因为0是int属性的默认值,所以属性中的每个必需项都是默
public class Model
{
[Display(Name="Theme"),Required(ErrorMessage="Please choose your theme")]
public int ThemeId { get; set; }
}
鉴于
@Html.Hidden(m=>m.ThemeId)
这个输出
问题是当前此字段有效,因为0是int属性的默认值,所以属性中的每个必需项都是默认有效的。所以我必须使它无效
我的解决办法是
只需为该属性使用Range(1,int.MaxValue)
属性
我只是想知道这是不是解决这个问题的最好办法。如果没有,请指出更好的解决方案。我遇到了同样的问题,还没有找到更好的解决方案 正如您所说,此属性的值的范围是
1..MaxInt
,这是完全正确的
我能看到的唯一其他解决方案是将其设置为可为null的整数,然后测试该值是否为null。但是,这将包括零值和负值,因此您仍然必须检查它是否为正整数。有两种选择:
- 使用
属性(本例中为Nullable
)int?
- 使用
允许空字段string