3

我需要一个应该正好是 7 个字符的文本框,为此我已经写了

Html.TextboxFor(x=>x.Number, new {maxLength = "7"};

这种情况下我只需要 7 个字符,但是如果我想少于 7 个字符,它会占用吗?有没有像maxlength只需要 7 个字符的属性。

问候,迈克尔·维拉亚杜

4

4 回答 4

2

对于它的价值,这些答案都不是很清楚。您要做的基本上是设置最小和最大长度属性。基本上有几种方法可以使用数据注释来完成此任务。

最简单的方法:

[MinLength(7)]
[MaxLength(7)]

使用 StringLengthAttribute... StringLength 有两个重载方法。两者都有 int 参数@maximumLength,其中一个重载包括 NamedParameters。所以对于 maxlength 你不会使用命名参数,但对于 minlength 你会:

[StringLength(7, MinimumLength=7)]

如果您想真正感到困惑,也可以这样做:

[MinLength(7)]
[StringLength(7)]
于 2013-08-06T19:00:01.500 回答
2

最小长度的文本框上没有 Html 属性。您可以使用数据注释来强制该字段的最大和最小文本长度...

这是使用数据注释的一个很好的演练:ASP.Net 上的 Stephen Walther

于 2011-03-24T07:00:03.707 回答
0

使用使用正则表达式的 DataAnnotations,您可以强制执行 7 个字符的字符串。DataAnnotations 也可以在客户端使用,你只需要启用它。

查看这篇文章了解更多信息:http ://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

于 2011-03-24T09:45:41.200 回答
0

您不需要为此创建自定义验证器。您可以使用 StringLength 属性来实现您想要的开箱即用:

[StringLength(MinimumLength=7, MaximumLength=7)]
public int Number { get; set; }
于 2013-04-24T07:15:42.487 回答