2010-03-22 127 views

回答

73

如果您使用的是asp.net 4.0,則可以使用StringLength屬性指定最小長度。

如:

[StringLength(50, MinimumLength=1)] 
public string MyText { get; set; } 
+2

不,我們現在還沒有使用4.0,事情發生的方式也不會持續很長時間。 :) – griegs 2010-03-22 23:07:30

+0

僅供參考。如果您「under-post」(意思是您沒有發佈名爲「MyText」的表單字段),則該屬性的StringLength驗證將被忽略。 [這是一篇文章](http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html)使用相似的屬性(RequiredAttribute)解釋這種情況。 – tbehunin 2012-03-12 21:00:58

7

使用正則表達式的屬性。這些也在客戶端進行解釋。

[RegularExpression(Regexes.MinStringLength)] 
public string MyText { get; set; } 

其中Regexes.MinStringLength是一個靜態正則表達式類。內聯看起來是這樣的:

[RegularExpression(@"^.{5,10}$")] // valid five to ten characters 
public string MyText { get; set; } 
+0

Regexes.MinStringLength似乎是在家裏種植的,也許你可以放入一個不需要其他定義的例子。也許[RegularExpression(「。{1}」)],將最小長度改爲1。 – 2012-02-23 16:37:07

+0

對不起,應該閱讀[RegularExpression(「。{1,}」)] - ref http://msdn.microsoft.com/en-us/library/az24scfc.aspx – 2012-02-23 16:52:48

+0

當然 - 請參閱更新。 – 2012-02-23 18:50:20

相關問題