我正在使用ASP MVC 5,并且使用FluentValidation还很新。
我正在尝试验证一个简单范围。
我有一堂这样的课
public int Property { get; set; }
这是我的验证
RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1)
.LessThanOrEqualTo(20);
当我想使用EditorFor
在剃刀视图中使用它
@Html.EditorFor(x => x.FactorK)
它抛出一个InvalidOperationException
System.InvalidOperationException:中的验证类型的名称 离散客户端验证规则必须唯一。以下类型 验证已经不止一次了:范围
奇怪的是,当尝试仅使用一种方法(GreaterThanOrEqual
或LessThanOrEqual
)时,它可以正常工作。
例如
RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1);
这有效。
我在做什么错?
谢谢!
答案 0 :(得分:1)
错误消息说明了错误原因,GreaterThanOrEqualTo和LessThanOrEqualTo均为“范围”验证类型。 尝试改用InclusiveBetween。
答案 1 :(得分:0)
在阅读文档时,我发现了InclusiveBetween
validator。
那是我的解决方法。
RuleFor(x => x.Property).NotEmpty()
.InclusiveBetween(1, 20);