html.textboxfor () должен быть ровно 7 символов - PullRequest
3 голосов
/ 24 марта 2011

Мне нужно текстовое поле, которое должно быть ровно из 7 символов, для которого я написал

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

В этом случае мне нужно всего 7 символов, но если я хочу взять меньше 7, этовезете?Есть ли какое-либо свойство, такое как maxlength, которое занимает только 7 символов.

regards, michael velayadu

Ответы [ 4 ]

2 голосов
/ 06 августа 2013

Что бы ни стоило, ни один из этих ответов не очень ясен.Что вы пытаетесь сделать, так это установить атрибут минимальной и максимальной длины.Есть несколько способов сделать это с помощью аннотаций данных.

Самый простой способ:

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

Использование StringLengthAttribute ... StringLength имеет два перегруженных метода.Оба имеют параметр int @maximumLength, и одна из перегрузок включает NamedParameters.Таким образом, для maxlength вы бы не использовали именованный параметр, а для minlength вы бы:

[StringLength(7, MinimumLength=7)]

Если вы действительно хотите запутаться, вы можете сделать это следующим образом:

[MinLength(7)]
[StringLength(7)]
2 голосов
/ 24 марта 2011

Нет атрибута Html в текстовом поле для минимальной длины. Вы можете использовать аннотации данных для обеспечения максимальной и минимальной длины текста для этого поля ...

Это довольно хороший пример использования аннотаций данных: Стивен Уолтер на ASP.Net

0 голосов
/ 24 апреля 2013

Вам не нужно создавать собственный валидатор для этого. Вы можете использовать атрибут StringLength для достижения желаемого из коробки:

[StringLength(MinimumLength=7, MaximumLength=7)]
public int Number { get; set; }
0 голосов
/ 24 марта 2011

С помощью DataAnnotations с использованием регулярных выражений вы можете использовать строку из 7 символов.DataAnnotations также можно использовать на стороне клиента, просто включите его.

Проверьте этот пост для получения дополнительной информации: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

...