C# 如何使用asp.net数据批注指定值大于其以前的值
我如何确保一个实体比之前的实体更大,例如在我下面的例子中,给汽车加油或给油箱加水:C# 如何使用asp.net数据批注指定值大于其以前的值,c#,asp.net,data-annotations,model-validation,C#,Asp.net,Data Annotations,Model Validation,我如何确保一个实体比之前的实体更大,例如在我下面的例子中,给汽车加油或给油箱加水: [Required()] [Range(0.00, 100000.00)] public double BeforeRefill { get; set; } [Required()] [Range(BeforeRefill , 100000.00)] public double AfterRefill { get; set; } 我想实现上面这样的功能,但它在我
[Required()]
[Range(0.00, 100000.00)]
public double BeforeRefill { get; set; }
[Required()]
[Range(BeforeRefill , 100000.00)]
public double AfterRefill { get; set; }
我想实现上面这样的功能,但它在我的代码中不起作用
是否有一种方法可以创建一个自定义验证属性,并在其中执行此类检查。或者如何实现我自己的验证,以便在调用
ModelState.isvalid()
时,它将进行检查?只是从validationattribute类继承。另见
您可以从validationContext.ObjectInstance获取要检查的对象,然后可以使用反射查找其他值。NET中的属性参数必须是常量。听起来您需要自定义模型验证。不能为此使用验证属性,必须使用不同的方法。如果将属性参数设置为“BeforeRefill”(或在BeforeRefill属性上设置匹配属性,如[FindPropertyById(1)],则属性参数为常量然后可以查找具有匹配属性的属性。BeforeRefill的值可以在isValid调用中解析