使用asp.net mvc中的属性进行验证非常好.[Range(min, max)]
到目前为止,我一直在使用验证器来检查值,例如:
[Range(1, 10)]
public int SomeNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是 - 现在我需要分别检查最小和最大条件.我希望找到这样的属性:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)
是否有任何预定义的属性来写这个?或者我如何实现这一目标?
是否可以使用[Range]
日期注释?
就像是
[Range(typeof(DateTime), DateTime.MinValue.ToString(), DateTime.Today.ToString())]
Run Code Online (Sandbox Code Playgroud) 我的模型中有一个Datetime字段,需要对其进行验证,以便在创建时它必须介于Now和6 Years Prior之间.我尝试过使用范围之类的
[Range(DateTime.Now.AddYears(-6), DateTime.Now)]
public DateTime Datetim { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是这会抛出一个错误,无法将系统日期时间转换为双倍.任何人都可以在模型本身中提出解决方法吗?
我想检查表单中的Datetime字段.该字段在01/10/2008和01/12/2008之间有效.以下是我定义viewmodel属性的方法:
[Required(ErrorMessage = "The date value is mandatory")]
[DataType(DataType.DateTime)]
[Range(typeof(DateTime), "01/10/2008", "01/12/2008")]
[DisplayName("When the work starts")]
public DateTime StartWork { get; set; }
Run Code Online (Sandbox Code Playgroud)
我想在客户端验证这一点.但我总是犯错误.我给出了值01/11/2008并告诉我,日期必须在01/10/2008和01/12/2008之间定义.我读到它没有jquery的客户端验证工作,不是吗?或者我忘了什么?有什么替代方案可以解决这个问题.