我正在用两个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
我有一个包含一个字符串属性的类: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");但是我可以链接它并显示一条错误消息,最好不要对可能性进行硬编码,例如
我有一个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
当下拉列表值为yes且字段必须为日期时,我正在尝试使用FluentValidation验证。它在下拉列表为yes检查date时工作。但当我选择No时也显示验证,它仍然显示Mustbedate。如果下拉列表值不是yes,则不再验证。我们怎样才能做到这一点?RuleFor(x=>x.DtPublishedTimeText).NotEmpty().When(HasMaterialPublishedElseWhereText).WithMessage("RequiredField").Must(BeAValidDate).WithMessage("Mustbedate");privateboo
我正在使用FluentValidation来验证对象内部的集合,将集合项的元素与父对象的元素进行比较。目标输出是接收集合中每个失败项的ValidationFailures,而不仅仅是集合失败。我有一份软件订单,其中包含软件项目列表。如果订单是遗留系统,则所选软件只能是遗留软件,反之,非遗留系统只能有非遗留软件。我的模型:publicclassSoftwareOrder{publicboolIsLegacySystem;publicListSoftware;(...otherfields...)}publicclassSoftwareItem{publicboolSelected;pub
在MVC中,我可以创建一个可以接受依赖项的模型验证器。我通常为此使用FluentValidation。例如,这使我可以检查未使用电子邮件地址的帐户注册(注意:这是一个简化的示例!):publicclassRegisterModelValidator:AbstractValidator{privatereadonlyMyContext_context;publicRegisterModelValidator(MyContextcontext){_context=context;}publicoverrideValidationResultValidate(ValidationContex
我可以向一个对象添加多个验证器吗?例如: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
我有一个MVC3View模型定义为:[Validator(typeof(AccountsValidator))]publicclassAccountViewModel{publicListAccounts{get;set;}}使用FluentValidation(v3.3.1.0)将验证定义为:publicclassAccountsValidator:AbstractValidator{publicAccountsValidator(){RuleFor(x=>x.Accounts).SetCollectionValidator(newAccountValidator());//This
我正在评估FluentValidationinServiceStack用于处理请求DTO的自动验证:Plugins.Add(newValidationFeature());container.RegisterValidators(typeof(MyValidator).Assembly);错误通过序列化ErrorResponseDTO返回给客户端,可能如下所示:{"ErrorCode":"GreaterThan","Message":"'Age'mustbegreaterthan'0'.","Errors":[{"ErrorCode":"GreaterThan","FieldName"
我正在使用visualstudio2013&FluentValidation5.6.2我看到在bin文件夹中构建后,它复制了所有特定于文化的FluentValidation.resources.dll这似乎在.nuspec文件中提到了>target="lib\NET35\de\FluentValidation.resources.dll"/>>>>>>>但我不需要在bin文件夹中放置这些,因为项目不支持任何特定于文化的消息。那么我如何告诉vs-build忽略这些特定于文化的dll? 最佳答案 我的解决方案是将此目标添加到.cspro