我需要一个文本框,它应该是7个字符, 我写的是
Html.TextboxFor(x=>x.Number, new {maxLength = "7"};
这个案例只需要7个字符,但是如果我想要少于7个字符,它会占用?
是否有像maxlength
这样的属性只需要7个字符。
的问候, michael velayadu
答案 0 :(得分:2)
文本框中没有最小长度的Html属性。您可以使用数据注释来强制该字段的最大和最小文本长度...
这是使用数据注释的非常好的演练:Stephen Walther on ASP.Net
答案 1 :(得分:2)
为了它的价值,这些答案都不是很清楚。您要做的是基本上设置最小和最大长度属性。基本上有几种方法可以使用数据注释来实现这一点。
最简单的方法:
[MinLength(7)]
[MaxLength(7)]
使用StringLengthAttribute ... StringLength有两个重载方法。两者都有int参数@maximumLength
,其中一个重载包括NamedParameters。因此,对于maxlength,您不会使用命名参数,但对于minlength,您会:
[StringLength(7, MinimumLength=7)]
如果你真的很困惑,你也可以这样做:
[MinLength(7)]
[StringLength(7)]
答案 2 :(得分:0)
使用正则表达式的DataAnnotations,您可以强制执行7个字符串的字符串。 DataAnnotations也可以在客户端使用,您只需要启用它。
查看此帖子了解详情:http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx
答案 3 :(得分:0)
您无需为此创建自定义验证程序。您可以使用StringLength属性来实现您想要的开箱即用:
[StringLength(MinimumLength=7, MaximumLength=7)]
public int Number { get; set; }