ASP.. NET Core Web API -如何验证UserName之间没有空格,前后.<



. NET Core-6 Web API,我正在使用Fluent Validation,如下所示:

RuleFor(p => p.UserName)
.NotEmpty().WithMessage("{UserName should be not empty. ERROR!");

我不想要任何空格,无论是在UserName之间,之前和之后。也就是说,我不想使用这些:

  1. "查理Bee"
  2. "CharlerBee"
  3. " 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!");

相关内容

  • 没有找到相关文章

最新更新