问题标签 [fluentvalidation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18405 浏览

asp.net-mvc - 在整数属性上使用 NotEmpty 进行流利验证

我有以下代码:

StatusId 是一个整数。NotEmpty 在这种情况下如何工作?它验证了什么?整数还是字符串?这部分检查整数是否为空的单元测试会是什么样子?

这用于验证我的 MVC 3 应用程序中的下拉列表。验证在视图上​​运行良好。GreaterThanOrEqualTo 部分是状态唯一标识符永远不能小于 1。我想触发这个来验证我的对象。什么时候这样做NotEmpty也不会火?有没有优先考虑哪个会先被解雇?如果 StatusId 为 0,将触发哪个规则集?如果是-1?在检查业务对象的 id 时,我希望 NotEmpty 使用视图和 GreaterThanOrEqualTo。有什么建议么?

0 投票
1 回答
619 浏览

c# - 在实体框架中使用复杂类型时未触发 ASP.NET MVC 3 验证错误

现在我正在制作一个让用户发布内容的表单,我想使用 WMD 编辑器,所以在我的实体框架模型中,我有一个名为 的复杂类型Content,它包含 HTML 和 WMD 字段。

在表单中,有一个标题的文本框和一个 WMD 编辑器Content,我使用了 FluentValidation 框架,如下所示:

当我在不输入任何内容的情况下提交此表单时,客户端验证只会将标题视为无效。如果我在标题中输入内容,表单提交(即使内容为空),然后在服务器端捕获错误(空内容),然后使用我输入的信息重新加载页面,但没有错误消息被显示。

我在实体框架模型中创建的复杂类型似乎导致了这个问题。我曾经有单独的属性,ContentHtml并且ContentWMD效果很好。

有没有办法解决这个问题而不必回到我原来的位置?

0 投票
2 回答
23004 浏览

asp.net-mvc - 关于号码问题的 FluentValidation

我在我的 ASP.NET MVC 3 应用程序中使用 FluentValidation。

我的视图模型中有一个 MaxNumberTeamMembers 属性,如下所示:

我想知道以下规则集是否可行:

  • 在前端视图中,如果文本框为空,那么我希望显示“需要 MaxNumberTeamMembers”消息
  • 如果输入的数字小于 1,那么我希望显示一条消息“MaxNumberTeamMembers 应该大于或等于 1”。

上面的规则集是什么样的?

我有以下内容,但如果我输入 0,它不适用于 GreaterThan 部分:

2011-02-14 更新:

0 投票
7 回答
59881 浏览

c# - 列表的 ViewModel 验证

我有以下视图模型定义

因此,在我的应用程序中,访问请求必须至少有 1 人。您可以使用什么方法进行验证?我不希望这种验证发生在我的控制器中,这很容易做到。唯一的选择是自定义验证属性吗?

编辑:目前使用 FluentValidation 执行此验证(不错的库!)

0 投票
2 回答
3428 浏览

asp.net-mvc-3 - FluentValidation 入门问题

我正在尝试将 FluentValidation 2.0 与 MVC 3 项目一起使用。我已按照此处的说明在项目中安装 FV。

这是我的验证器类:

这是我尝试使用该属性的地方:

但是,无法识别该属性。当我构建时,我收到以下错误消息:

“System.ComponentModel.DataAnnotations.Validator”不是属性类。

我实际上已经在两种不同的解决方案上进行了尝试,并且在这两种解决方案上都遇到了同样的问题。这可能是微不足道的,但我无法弄清楚。

有人可以告诉我我做错了什么吗?

谢谢。

0 投票
1 回答
1412 浏览

c# - 为什么fluent.validate会在asp.net mvc中抛出异常

我想在发布表单时覆盖默认的 asp.net-mvc 验证,所以我尝试使用 fluent.validation

我创建了一个验证器类(ProjectValidator)

我在我的数据传输对象类上放置了一个属性

我把它放在 application_start();

但是当我发布使用此对象的表单时,我收到以下错误:

找不到方法:'System.Collections.Generic.IEnumerable`1 FluentValidation.IValidatorDescriptor.GetValidatorsForMember(System.String)'。

有什么建议么?

0 投票
1 回答
6506 浏览

asp.net-mvc - 带有流利验证的基于属性的验证似乎不适用于 asp.net-mvc

我遵循了本教程中的所有这些步骤:

创建了一个验证器类

在我的 DTO 上放置一个属性来指定这个验证器

但是当我去检查 ModelState 错误列表时,在表单发布之后,我看到的错误来自 asp.net-mvc 默认验证。

关于为什么它不流利的任何建议。验证器 ??我在下面添加了我在 gui 上看到的图像

在此处输入图像描述

如果我直接在代码中调用验证器,它就可以正常工作:

0 投票
2 回答
1658 浏览

asp.net-mvc - 传递 ErrorMessage 进行客户端验证

由于无法使用多个正则表达式模式(因为验证类型必须是唯一的)来验证属性(使用不显眼的客户端验证),我决定扩展 FluentValidation 以便我可以执行以下操作。



我需要弄清楚的最后一件事是如何传递使用WithMessage()via设置的错误消息,GetClientValidationRules()因此它最终出现在输入元素的“data-val-customregex [SOMEFANCYSTRINGHERETOMAKEITUNIQUE]”属性中。


我一直在查看 FluentValidation 源代码,但无法弄清楚。有人有什么想法吗?

0 投票
2 回答
1724 浏览

unit-testing - 来自 commonlibnet 的 FakeItEasy 和 FluentValidation 的假验证码

我正在使用来自 commonlibrary (http://commonlibrarynet.codeplex.com/) 的 Captcha 类。我的代码可以正常工作,但现在我正在尝试编写单元测试。

我的验证规则是:

在我的设置代码中,我尝试执行以下操作:

但我收到以下错误消息:

所以问题实际上是如何使用 FakeItEasy 伪造静态方法。

TIA,

大卫

0 投票
1 回答
2658 浏览

asp.net-mvc - 使用 FluentValidation 时向类添加 DataAnnotation

我使用 FluentValidation 框架向 MVC 项目中的模型添加验证和注释。

我需要将数据注释添加到模型的类级别。即,模型需要添加 DisplayColumn 属性。但是,由于我使用 FluentValidation(并将应用程序的 ModelMetadataProvider 设置为使用 FluentValidation),即使我将 DisplayColumn 属性放在模型类上,也不会使用它。但是,我找不到使用 FluentValidation 添加该注释的方法。

有谁知道我怎样才能让它发挥作用?

谢谢