如何使用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