C# Fluent验证重载(小于)大于或等于方法不';我不能得出同样的结果

C# Fluent验证重载(小于)大于或等于方法不';我不能得出同样的结果,c#,asp.net,.net,asp.net-mvc,fluentvalidation,C#,Asp.net,.net,Asp.net Mvc,Fluentvalidation,我正在使用FluentValidation库,并试图找出原因: this.RuleFor(m => m.Quantity).GreaterThanOrEqualTo(10); 因此: <input data-val-range-min="10" id="Quantity" name="Quantity" type="text" value="10""> 呈现此(数据值范围最小值为空): 并在函数内部设置断点,当我调试时它不会停止在那里。它根本不会出现在函数中。这是否意味着表

我正在使用FluentValidation库,并试图找出原因:

this.RuleFor(m => m.Quantity).GreaterThanOrEqualTo(10);
因此:

<input data-val-range-min="10" id="Quantity" name="Quantity" type="text" value="10"">
呈现此(数据值范围最小值为空):

并在函数内部设置断点,当我调试时它不会停止在那里。它根本不会出现在函数中。这是否意味着表达式参数没有编译,这就是HTML属性为空的原因?为什么

我知道LessthanRequalto和GraterThanOrEqualTo不支持客户端验证——或者至少他们不支持。我发现的所有文章都是几年前的,也许现在已经不是这样了?无论如何,我并不真正关心客户端验证,只关心数据属性。我想知道为什么同一个方法的一个版本不能在HTML中呈现值


谢谢。

我联系了FluentValidation的作者,基本上这个功能没有实现,而且很难实现,所以它是可靠的。我相信这是可能的,但我理解作者不这样做的论点:

我只是想说清楚。QuantityMin返回整数/数字,对吗?是。这是一个不可为null的int。我仔细检查了它的值>0(以防出于某种原因0会成为问题),何时或何地填充了
QuantityMin
?如果您尝试在属性的getter中设置QuantityMin=10,那么会发生什么?
this.RuleFor(m => m.Quantity).GreaterThanOrEqualTo(m => m.QuantityMin);
<input data-val-range-min="" id="Quantity" name="Quantity" type="text" value="10"">
this.RuleFor(m => m.Quantity).GreaterThanOrEqualTo(m => this.GetMin(m));

function GetMin(ConfigurationView view)
{
    return view.QuantityMin;
}