2010-03-22 89 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

相关问题