jjzjj

fluentvalidator

全部标签

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# - 何时和必须的 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# - 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# - ServiceStack FluentValidation 中的自定义响应 DTO

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

FluentValidation在C# WPF中的应用

1.引言在.NET开发领域,FluentValidation以其优雅、易扩展的特性成为开发者进行属性验证的首选工具。它不仅适用于Web开发,如MVC、WebAPI和ASP.NETCORE,同样也能完美集成在WPF应用程序中,提供强大的数据验证功能。本文将深入探讨如何在C#WPF项目中运用FluentValidation进行属性验证,并展示如何通过MVVM模式实现这一功能。2.功能概览我们的目标是构建一个WPF应用程序,它能够通过FluentValidation实现以下验证功能:验证ViewModel层的基本数据类型属性,如int、string等。对ViewModel中的复杂属性进行验证,这包括

使用MediatR和FluentValidation实现CQRS应用程序的数据验证

本文将重点介绍如何通过MediatR的管道功能将FluentValidation集成到项目中实现验证功能。什么是CQRS?CQRS(CommandQueryResponsibilitySegregation)也叫命令查询职责分离,是近年来非常流行的应用程序架构模式。CQRS背后的理念是在逻辑上将应用程序的流程分成两个独立的流程,即命令或查询。命令用于改变应用程序的状态。对应CRUD的创建、更新和删除部分。查询用于检索应用程序中的信息,对应CRUD的读取部分。CQRS的优缺点优点:单一职责–命令和查询只有一个职责。要么更改应用程序的状态,要么检索它。因此它们很容易推理和理解。解耦–命令或查询与其

c# - FluentValidation - 验证包含对象列表的 View 模型

我正在一个包含复杂View模型的项目上试用FluentValidation,我阅读了documentationhere但我不知道如何设置规则来验证在我的View模型中声明的对象列表。在我下面的示例中,View模型中的列表包含1个或多个Guitar对象。谢谢查看模型[FluentValidation.Attributes.Validator(typeof(CustomerViewModelValidator))]publicclassCustomerViewModel{[Display(Name="FirstName")]publicstringFirstName{get;set;}[D

c# - FluentValidation - 验证包含对象列表的 View 模型

我正在一个包含复杂View模型的项目上试用FluentValidation,我阅读了documentationhere但我不知道如何设置规则来验证在我的View模型中声明的对象列表。在我下面的示例中,View模型中的列表包含1个或多个Guitar对象。谢谢查看模型[FluentValidation.Attributes.Validator(typeof(CustomerViewModelValidator))]publicclassCustomerViewModel{[Display(Name="FirstName")]publicstringFirstName{get;set;}[D

类层次结构的 C# FluentValidation

我有一个数据类的层次结构publicclassBase{//Fieldstobevalidated}publicclassDerived1:Base{//Morefieldstobevalidated}publicclassDerived2:Base{//Morefieldstobevalidated}在不复制基类字段规则的情况下,使用FluentValidation框架验证Derived1和Derived2的合适方法是什么? 最佳答案 publicclassDerived2Validator:AbstractValidator{p
12