FluentValidation 范围在 Razor 视图中抛出 InvalidOperationException
FluentValidation range throws InvalidOperationException in Razor view
我正在使用 ASP MVC 5,而且我是使用 FluentValidation 的新手。
我正在尝试验证一个简单的范围。
我有一个class这样的
public int Property { get; set; }
这是我的验证
RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1)
.LessThanOrEqualTo(20);
当我想在剃须刀视图中使用它时 EditorFor
@Html.EditorFor(x => x.FactorK)
它抛出一个 InvalidOperationException
System.InvalidOperationException: The names of the validation types in
discrete client validation rules must be unique. The following type of
validation has been observed more than once: range
奇怪的是,当尝试只使用一种方法(GreaterThanOrEqual
或 LessThanOrEqual
)时它工作正常。
例如,
RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1);
这有效。
我做错了什么?
谢谢!
阅读文档,我找到了 InclusiveBetween
validator。
这就是我的解决方案。
RuleFor(x => x.Property).NotEmpty()
.InclusiveBetween(1, 20);
错误信息解释错误原因,GreaterThanOrEqualTo和LessThanOrEqualTo都是"range"验证类型。
尝试改用 InclusiveBetween。
我正在使用 ASP MVC 5,而且我是使用 FluentValidation 的新手。
我正在尝试验证一个简单的范围。
我有一个class这样的
public int Property { get; set; }
这是我的验证
RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1)
.LessThanOrEqualTo(20);
当我想在剃须刀视图中使用它时 EditorFor
@Html.EditorFor(x => x.FactorK)
它抛出一个 InvalidOperationException
System.InvalidOperationException: The names of the validation types in discrete client validation rules must be unique. The following type of validation has been observed more than once: range
奇怪的是,当尝试只使用一种方法(GreaterThanOrEqual
或 LessThanOrEqual
)时它工作正常。
例如,
RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1);
这有效。
我做错了什么?
谢谢!
阅读文档,我找到了 InclusiveBetween
validator。
这就是我的解决方案。
RuleFor(x => x.Property).NotEmpty()
.InclusiveBetween(1, 20);
错误信息解释错误原因,GreaterThanOrEqualTo和LessThanOrEqualTo都是"range"验证类型。 尝试改用 InclusiveBetween。