问题标签 [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.
asp.net-mvc-3 - MVC HtmlHelper vs FluentValidation 3.1:获取 ModelMetadata IsRequired 的麻烦
我为标签创建了一个 HtmlHelper,如果需要关联字段,则在该标签的名称后放置一个星号:
如果我使用 DataAnnotations 并在我的 ViewModel 中的属性上拍 [Required],我的私有 LabelHelper 中的 metadata.IsRequired 将等于 True,并且一切都会按预期工作。
但是,如果我使用 FluentValidation 3.1 并添加这样的简单规则:
...在我的 LabelHelper 元数据中。IsRequired 将被错误地设置为 false。(验证器虽然有效:您不能提交空字段,它需要是电子邮件之类的)。
其余元数据看起来正确(例如:metadata.DisplayName = "Email")。
从理论上讲,如果使用 Rule .NotNull(),FluentValidator 会在属性上添加RequiredAttribute。
供参考:我的 ViewModel:
我的控制器:
任何帮助表示赞赏。
asp.net-mvc-3 - Ninject.MVC3 + FluentValidation + Factory 有人用过吗?
我对如何在Ninject和FluentValidatior中使用工厂存有疑问。
这篇文章对我帮助很大,但我不明白如何使用工厂来实例化我的验证器:
我还发现了一些其他类似的文章,但使用的是 StructureMap!
按照我执行的步骤
- 通过 nuget安装了Ninject和FluentValidation
- 为工厂类安装了 Ninject.Web.Mvc.FluentValidation
- 现在?
安装 Ninject 时,他创建了NinjectMVC3.cs
inApp_Start
文件夹,因此我在方法中设置了我的依赖RegisterServices
项:
在Global.asax中,Application_Start
方法:
FluentValidator 我有:
HumanValidator.cs
我的问题
在
RegisterCoupleValidator
工厂的课堂上,我如何没有验证器的实例?具体在new HumanValidator()
在
HumanValidator
类中,HumanValidate
属性始终为空,为什么?
Obs1:我不想实例化 FluentValidator 的这些验证器,我希望 Ninject 使用这个工厂为我解决依赖关系。
Obs2:我不必访问 Ninject 内核,因为在几篇文章中我读到这将是一个反合作伙伴。
asp.net-mvc-3 - 使用 FluentValidator 验证日期时间
这是我的ViewModel类:
创建人.cshtml
CreatePersonValidator.cs
尝试使用无效日期格式创建人员时:
观察
在我的 CreatePersonModel 类中,该DateBirth
属性是一种DateTime
类型,asp.net MVC 验证已为我完成。
但我想使用 FluentValidation自定义错误消息。
由于各种原因,我不想更改属性的类型,例如:
在一个CreatePersonValidator.cs
类中,验证是检查日期是否过去:
问题
如何在不使用 DataAnnotations(使用 FluentValidator)的情况下自定义错误消息。
asp.net-mvc - Fluent Validation 在未定义验证的类上触发
我正在使用 mvc3 + fluent 验证 + ninject
我有简单的控制器和没有配置验证的模型(寻呼机)......但是在该对象上也触发了流畅的验证,因此代码中断并引发异常:
> 激活 IValidator{Pager} 时出错
我在源代码中查找并找到了这个方法,它假设检查它是否需要验证某些属性,但它只检查值是否不为空:
我想围绕这个问题有一些配置技巧,简而言之:我只想在我定义了 FV 规则的对象上触发 FV...
谢谢;)
asp.net-mvc-3 - ASP.NET MVC3 Fluent Validation Constructor 每个请求多次命中
我有一个使用流利验证和 ninject 的 ASP.NET MVC3 网站设置。验证码有效。但是,我在验证类构造函数中设置了一个断点,我注意到当我请求使用验证的视图时,构造函数会被多次命中。基于非常基本的测试,构造函数被命中的次数似乎等于对象上存在的属性数。有没有其他人遇到过类似的事情?或者有人可以更深入地了解这种类型的验证是如何在幕后工作的?-谢谢
这是构造函数...
这是我正在使用的库/资源(我刚刚获得了 NuGet 包并根据以下两个链接中的信息配置了所有内容):
http://fluentvalidation.codeplex.com/wikipage?title=mvc https://github.com/ninject/ninject.web.mvc.fluentvalidation
c# - 流畅的验证。找不到扩展方法
我在我的项目中添加了 FluentValidation 程序集引用。在编写简单的验证器时完全没有问题。当我尝试编写集合验证器时出现问题。VisualStudio
没有看到没有SetCollectionValidator
扩展方法。它也不会出现在智能感知片段中。我没有忘记包括using FlentValidation
.
编辑
尽管没有智能感知提示,但在 SharpDevelop 项目中构建了相同的代码。
我究竟做错了什么?谢谢。
asp.net-mvc - 使用 FluentValidation 时将域模型验证错误映射到 ViewModel
我希望这里的人们能给我一些关于如何正确执行此操作的想法。
目前我有一个用于渲染屏幕的 ViewModel。View 模型实际上包含了几个领域模型的扁平化数据。我已经用属性装饰了 ViewModel 以进行基本验证,但真正的验证工作发生在服务层。当服务层出现验证错误时,就会出现此问题。属性的名称(即 - UserName)与 ModelState 中的条目不匹配(即 - RegistrationViewModel.UserName)。
有没有人建议如何处理这个问题?
提前致谢!
史蒂文
asp.net-mvc-3 - 每个页面都有一个 `ViewModel`(`Create.cshtml` 和 `Edit.cshtml`)?
问题
实际上有两个相关的问题:
- 我应该为每个页面创建一个 ViewModel 吗?
Create.cshtml
如果您在为两个页面(和 )创建单个 ViewModel 类时没有问题,Edit.cshtml
我如何以不同的方式验证 ViewModel(取决于正在使用的页面)
资源
视图模型
编辑.cshtml
创建.cshtml
项目验证器.cs
请注意,如果用户正在编辑现有项目,则name
不应再次验证属性。
ProjectController.cs > 编辑方法
笔记
如果我为每个页面创建一个 ViewModel,则存在重复代码,因为页面具有相同的属性。
在 ViewModel 上添加一个属性,指示它正在显示的页面并不能解决我实例化 ViewModel 的问题,我使用 AutoMapper。
为了验证数据,我使用FluentValidator。
谢谢大家的帮助!
asp.net-mvc - 基于正在验证的对象的自定义属性名称
我有以下课程,例如,它们有点简化。
我在操作中收到 SuspendLinesVM,并且所有行都是从客户端动态创建的。表单中属于具体 LineInfo 的每个元素的名称都带有模板' lineid{Id}_ElementName '。所以他们以如下形式来找我:
lineid0001_LineNumber
lineid0001_SubAccountNumer
lineid0001_MobileNumber
lineid0021_LineNumber
lineid0021_SubAccountNumer
lineid0021_MobileNumber
当验证时发生一些错误时,我需要一种方法来设置失败的属性,因为它在请求中突出显示视图中的无效字段。
我在困惑的地方留下了问题。
我需要一种方法来执行 *(instance, propertyName) => return string.format('lineid_{0}_{1}', instance.Id, propertyName)*。
有任何想法吗 ?
asp.net-mvc - FluentValidation 可以做复选框吗?
我正在使用 FluentValidation 验证 MVC 表单上的输入。
我有一个复选框。
无论我将验证规则设置为什么,它都不会验证复选框。
我知道验证正在工作,因为我有一个下拉列表可以在同一页面上进行验证。
看法
模型
我试过了
这些都不起作用。我要努力做到这一点。这是一个他妈的复选框
PS:我发现线程谈论使用 jQuery,但这是使用服务器端验证,而不是客户端。