草庐IT

fluentvalidation

全部标签

c# - 如果字符串不为空,FluentValidation 如何检查长度?

我正在用两个string测试一个PUT:company.CurrencyCode=request.CurrencyCode??company.CurrencyCode;company.CountryIso2=request.Country??company.CountryIso2;我试过这样的规则:publicUpdateCompanyValidator(){RuleSet(ApplyTo.Put,()=>{RuleFor(r=>r.CountryIso2).Length(2).When(x=>!x.Equals(null));RuleFor(r=>r.CurrencyCode).Le

c# - 检查参数是否是具有流畅验证的 3 个值之一

我有一个包含一个字符串属性的类:publicclassBla{publicstringParameter{get;set;}}我想编写一个自定义的AbstractValidator,它检查参数是否等于这些字符串之一:str1,str2,str3我想这将是一个起点:RuleFor(x=>x.Parameter).Must(x=>x.Equals("str1")||x.Equals("str2")||x.Equals("str3")).WithMessage("Pleaseonlyuse:str1,str2,str3");但是我可以链接它并显示一条错误消息,最好不要对可能性进行硬编码,例如

c# - Fluent Validation 不接受带有千位分隔符的数字

我有一个ASP.NETMVC5项目,其中包含针对MVC5的FluentValidation。我还在使用jQuery屏蔽插件自动将千位值添加到double值。在我的模型中:[Display(Name="Turnover")][DisplayFormat(ApplyFormatInEditMode=true,ConvertEmptyStringToNull=true,DataFormatString="#,##0")]publicdouble?Turnover{get;set;}在我看来:@Html.DisplayNameFor(model=>model.Turnover)@Html.Te

c# - 何时和必须的 FluentValidation?

当下拉列表值为yes且字段必须为日期时,我正在尝试使用FluentValidation验证。它在下拉列表为yes检查date时工作。但当我选择No时也显示验证,它仍然显示Mustbedate。如果下拉列表值不是yes,则不再验证。我们怎样才能做到这一点?RuleFor(x=>x.DtPublishedTimeText).NotEmpty().When(HasMaterialPublishedElseWhereText).WithMessage("RequiredField").Must(BeAValidDate).WithMessage("Mustbedate");privateboo

c# - 将对象的一个​​元素传递给 FluentValidation SetValidator 的构造函数

我正在使用FluentValidation来验证对象内部的集合,将集合项的元素与父对象的元素进行比较。目标输出是接收集合中每个失败项的ValidationFailures,而不仅仅是集合失败。我有一份软件订单,其中包含软件项目列表。如果订单是遗留系统,则所选软件只能是遗留软件,反之,非遗留系统只能有非遗留软件。我的模型:publicclassSoftwareOrder{publicboolIsLegacySystem;publicListSoftware;(...otherfields...)}publicclassSoftwareItem{publicboolSelected;pub

c# - Web API 中的依赖注入(inject)验证

在MVC中,我可以创建一个可以接受依赖项的模型验证器。我通常为此使用FluentValidation。例如,这使我可以检查未使用电子邮件地址的帐户注册(注意:这是一个简化的示例!):publicclassRegisterModelValidator:AbstractValidator{privatereadonlyMyContext_context;publicRegisterModelValidator(MyContextcontext){_context=context;}publicoverrideValidationResultValidate(ValidationContex

c# - FluentValidation 多个验证器

我可以向一个对象添加多个验证器吗?例如:publicinterfaceIFoo{intId{get;set;}stringName{get;set;}}publicinterfaceIBar{stringStuff{get;set;}}publicclassFooValidator:AbstractValidator{publicFooValidator(){RuleFor(x=>x.Id).NotEmpty().GreaterThan(0);}}publicclassBarValidator:AbstractValidator{publicBarValidator(){RuleFor

c# - 您如何使用 Fluent Validation 对列表中的每个字符串进行验证?

我有一个MVC3View模型定义为:[Validator(typeof(AccountsValidator))]publicclassAccountViewModel{publicListAccounts{get;set;}}使用FluentValidation(v3.3.1.0)将验证定义为:publicclassAccountsValidator:AbstractValidator{publicAccountsValidator(){RuleFor(x=>x.Accounts).SetCollectionValidator(newAccountValidator());//This

c# - ServiceStack FluentValidation 中的自定义响应 DTO

我正在评估FluentValidationinServiceStack用于处理请求DTO的自动验证:Plugins.Add(newValidationFeature());container.RegisterValidators(typeof(MyValidator).Assembly);错误通过序列化ErrorResponseDTO返回给客户端,可能如下所示:{"ErrorCode":"GreaterThan","Message":"'Age'mustbegreaterthan'0'.","Errors":[{"ErrorCode":"GreaterThan","FieldName"

c# - 不需要的文化特定 dll 复制到 bin 目录

我正在使用visualstudio2013&FluentValidation5.6.2我看到在bin文件夹中构建后,它复制了所有特定于文化的FluentValidation.resources.dll这似乎在.nuspec文件中提到了>target="lib\NET35\de\FluentValidation.resources.dll"/>>>>>>>但我不需要在bin文件夹中放置这些,因为项目不支持任何特定于文化的消息。那么我如何告诉vs-build忽略这些特定于文化的dll? 最佳答案 我的解决方案是将此目标添加到.cspro