. NET Core-6 Web API,我正在使用Fluent Validation,如下所示:
RuleFor(p => p.UserName)
.NotEmpty().WithMessage("{UserName should be not empty. ERROR!");
我不想要任何空格,无论是在UserName之间,之前和之后。也就是说,我不想使用这些:
- "查理Bee"
- "CharlerBee"
- " charles Bee ">
我如何做到这一点?
感谢我将使用regex表达式来验证空格。
S
:匹配任何非空白字符^
:行起始位置$
:行尾位置
作为正则表达式^[S]+$
RuleFor(m => m.UserName).NotEmpty()
.Matches(@"^[S]+$")
.WithMessage("{UserName should be not empty. ERROR!");
Fluent Validation支持使用Must
通过谓词提供规则:
。必须(s =比;!年代。包含(' '))
RuleFor(m => m.Token)
.Cascade(CascadeMode.Stop) // stop on first failure
.NotEmpty()
.WithMessage("{UserName should be not empty. ERROR!")
.Must(s => !s.Contains(' ')) // or remove Cascade and add nullability check here
.WithMessage("No spaces!");