如何使用Fluent验证检查C#中属性的最小长度和最大长度验证?
MaxLength验证器
确保特定字符串属性的长度不超过指定值。
仅对字符串属性有效
字符串格式参数:
{PropertyName}=要验证的属性的名称
{MaxLength}=最大长度
{TotalLength}=输入的字符数
{PropertyValue}=属性的当前值
最小长度验证器
确保特定字符串属性的长度大于指定的值。
仅对字符串属性有效
{PropertyName}=要验证的属性的名称
{MinLength}=最小长度
{TotalLength}=输入的字符数
{PropertyValue}=属性的当前值
示例
static void Main(string[] args){ List errors = new List(); PersonModel person = new PersonModel(); person.FirstName = "TestUser444"; person.LastName = "TTT"; PersonValidator validator = new PersonValidator(); ValidationResult results = validator.Validate(person); if (results.IsValid == false){ foreach (ValidationFailure failure in results.Errors){ errors.Add(failure.ErrorMessage); } } foreach (var item in errors){ Console.WriteLine(item); } Console.ReadLine(); } } public class PersonModel{ public string FirstName { get; set; } public string LastName { get; set; } } public class PersonValidator : AbstractValidator{ public PersonValidator(){ RuleFor(p => p.FirstName).MaximumLength(7).WithMessage("MaximumLength must be 7 {PropertyName}") ; RuleFor(p => p.LastName).MinimumLength(5).WithMessage("MinimumLength must be 5 {PropertyName}"); } }
输出结果
MaximumLength must be 7 First Name MinimumLength must be 5 Last Name