您好,我已经关注我的Asp.net MVc模型
TestModel.cs
public class TestModel
{
public double OpeningAmount { get; set; }
[Required(ErrorMessage="Required")]
[Display(Name = "amount")]
[Range(0 , double.MaxValue, ErrorMessage = "The value must be greater than 0")]
public string amount { get; set; }
}
现在从我的控制器“OpeningAmount”分配。
最后,当我提交表格时,我想检查“金额”必须大于“OpeningAmonut”。所以想要像
一样动态设置范围[Range(minimum = OpeningAmount , double.MaxValue, ErrorMessage = "The value must be greater than 0")]
我不想只使用Jquery或javascript,因为它只检查客户端,所以我可以动态设置Range属性最小值。
答案 0 :(得分:8)
最近有一个令人惊奇的工具:动态注释,它被称为JSFiddle
它允许您在
之前做一些不可能的事情[AssertThat("ReturnDate >= Today()")]
public DateTime? ReturnDate { get; set; }
甚至
public bool GoAbroad { get; set; }
[RequiredIf("GoAbroad == true")]
public string PassportNumber { get; set; }
答案 1 :(得分:1)
没有内置属性可以处理属性之间的依赖关系。
因此,如果您想使用属性,则必须编写自定义属性。
Se here以获取您需要的示例。
您还可以查看dataannotationsextensions.org
另一种解决方案是使用验证库,例如(非常好)FluentValidation。