【问题标题】:How to match all different symbols from empty string with RegularExpression attribute in MVC如何将空字符串中的所有不同符号与MVC中的RegularExpression属性匹配
【发布时间】:2013-12-30 20:57:46
【问题描述】:

我有一个奇怪的问题 - 我尝试在我的登录页面中匹配关于我的用户名文本框的所有可能符号,并且当当前框为空时,这个属性必须抛出你的 ErrorMessage。我尝试使用[^.+$],但这个正则表达式只匹配一个符号,之后我尝试使用^[.+]$,并且这种匹配的字符“。”字面意义。 (点)。我尝试了许多其他情况和正则表达式,但该属性没有给我想要的结果。

【问题讨论】:

    标签: c# regex asp.net-mvc asp.net-mvc-3 data-annotations


    【解决方案1】:

    如果您想检查文本框中是否有值,请使用[Required] 属性。

    [Required(ErrorMessage = "Your error message when the textbox is empty")]
    public string YourProperty { get; set; }
    

    【讨论】:

      【解决方案2】:

      如果您只想检查输入是否为空,那么 Efrain 的答案是最好的方法。

      如果出于某种原因你想使用 RegEx,下面的方法可以做到。

      [RegularExpression("^(?!\s*$).+", ErrorMessage = "Invalid User Name")]
      public string UserName { get; set; }
      

      【讨论】:

      • 我知道最好的方法是使用 [Required] 属性,但就我而言,我需要使用 RegEx。谢谢你的回答,但是这个正则表达式在我的情况下不起作用。问候
      • 你能澄清一下不工作吗?空白输入不会引发错误吗?是否为有效输入错误地抛出错误?
      • 你也是用客户端验证还是服务器验证?
      【解决方案3】:

      你只需要去掉正则表达式中的方括号:

      ^.+$
      
      
      [RegularExpression("^.+$", ErrorMessage = "Empty username")]
      public string UserName { get; set; }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-17
        • 2015-07-30
        • 2018-12-21
        • 1970-01-01
        • 1970-01-01
        • 2019-10-21
        • 1970-01-01
        相关资源
        最近更新 更多