【问题标题】:Checking for Whitespace in FluentValidation在 FluentValidation 中检查空格
【发布时间】:2014-03-11 21:34:08
【问题描述】:

我正在使用 FluentValidation 并尝试创建一个规则,如果字符串中有任何空格(即用户名),则会引发错误。

我已经查看了这些 SO,但似乎没有用,我确定我的语法有点不对劲?

What is the Regular Expression For "Not Whitespace and Not a hyphen"What is the Regular Expression For "Not Whitespace and Not a hyphen"

RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Matches(@"/^\S\z/");

RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Matches(@"[^\s]");

这些似乎都不起作用。其他规则不为空,长度在 3 到 15 个字符之间。

【问题讨论】:

    标签: c# regex fluentvalidation


    【解决方案1】:

    稍微修改一下您的原始规则
    编辑好的,按照建议删除分隔符。

    RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Matches(@"\A\S+\z");
    

    它所做的只是强制整个字符串从头到尾都没有空格。

    或者,我想你可以将它们组合成 1 个匹配项,如

    RuleFor(m => m.UserName).Matches(@"\A\S{3,15}\z");
    

    【讨论】:

    • 这有效,除了 / 和 \ 围绕表达式。删除这些并且任何一个都可以。如果您想更新答案,我可以将其标记为完成。谢谢! RuleFor(m => m.UserName).NotEmpty().Matches(@"\A\S{3,15}\z");
    • @roadsunknown - 完成!
    • RuleFor(m => m.UserName).NotEmpty().Matches(@"\A\S{3,15}\z"); 不适合我。它甚至在我输入任何字符时也显示验证
    • @AnmolRathod - RuleFor(m => m.UserName).NotEmpty().Matches(@"\A\S{3,15}\z"); not worked for me. It is showing validating even also when i am entering any characters 这 -> \A 是字符串的绝对开头。 \z 是字符串的绝对结尾 \S{3,15} 是 3 到 15 个除空格以外的任何字符。你有它..
    • @sln 最后的正则表达式比 ?
    【解决方案2】:

    试试 char.IsWhiteSpace

    RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Must(userName => !userName.All(c => char.IsWhiteSpace(c)))
    

    【讨论】:

    • 无法让它工作。如果使用 LINQ 与 Regex 方法检查每个字符,也可能会有性能。
    【解决方案3】:

    这对我有用 FluentValidation.MVC5 6.4.0

    RuleFor(x => x.username).Must(u => !u.Any(x => Char.IsWhiteSpace(x)));
    

    【讨论】:

      【解决方案4】:

      试试这个:

      RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Must (u => !string.IsNullOrWhiteSpace(u));
      

      【讨论】:

      • 那行不通。我仍然可以放置空格。
      猜你喜欢
      • 2014-02-02
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2015-08-27
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多