FluentValidation range 在 Razor 视图中抛出 InvalidOperationExcepti



我正在使用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:验证类型的名称 离散客户端验证规则必须是唯一的。以下类型的 已多次观察到验证:范围

奇怪的是,当尝试仅使用一种方法(GreaterThanOrEqualLessThanOrEqual(时,它可以正常工作。

例如

RuleFor(x => x.Property).NotEmpty()
.GreaterThanOrEqualTo(1);

这行得通。

我做错了什么?

谢谢!

错误消息解释了错误的原因,GreaterThanOrEqualTo 和 LessThanOrEqualTo 都是"范围"验证类型。 尝试改用"包容性之间"。

阅读文档,我找到了InclusiveBetween验证器。

这就是我的解决方案。

RuleFor(x => x.Property).NotEmpty()
.InclusiveBetween(1, 20);

相关内容

  • 没有找到相关文章

最新更新