2015-10-25 105 views
2

我試圖得到一個用戶名驗證在下面的文本是有效的,正則表達式Asp.Net MVC

  • 測試
  • 的Test2
  • TES2
  • Test123
  • 123Test
  • Test_56
  • 測試6TY

但並不是以下

  • 維護設備(最小長度)
  • 測試@ 123(特殊字符)

我添加以下的型號標註,但不似乎也沒有爲正確的文本工作。繼續收到錯誤消息。

[RegularExpression(@"^[a-zA-Z0-9\-_]$", ErrorMessage = "Only alphanumeric, hyphen and underscores are allowed for User name.")] 
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 4)] 
+0

您是否在使用「Tes」或「Test @ 123」提交'ModelState'時有效? –

+0

否ErrorMessage將顯示正確的一次。 – TBA

+0

哪條錯誤消息? –

回答

2

從你的例子,它看起來像這個表達式可以適合你:

@"^[a-zA-Z0-9_-]{4,10}$" 

{4,10}組輸入的最小長度4和最大長度10。改變它,無論你想保留的限制。

+1

非常感謝你:) – TBA