Атрибут MaxLength не генерирует атрибуты проверки на стороне клиента - PullRequest
76 голосов
/ 23 июля 2011

У меня возникла любопытная проблема с проверкой на стороне клиента ASP.NET MVC3. У меня есть следующий класс:

public class Instrument : BaseObject
{
    public int Id { get; set; }

    [Required(ErrorMessage = "Name is required.")]
    [MaxLength(40, ErrorMessage = "Name cannot be longer than 40 characters.")]
    public string Name { get; set; }
}

На мой взгляд:

<div class="editor-field">
    @Html.EditorFor(model => model.Name)
    @Html.ValidationMessageFor(model => model.Name)
</div>

А вот сгенерированный HTML-код для этого поля:

<input class="text-box single-line" data-val="true" data-val-required="Name is required." id="Name" name="Name" type="text" value="">

Никаких признаков MaxLengthAttribute, но все остальное вроде бы работает.

Есть идеи, что не так?

Ответы [ 11 ]

0 голосов
/ 19 ноября 2016

Это может заменить MaxLength и MinLength

[StringLength(40, MinimumLength = 10 , ErrorMessage = "Name cannot be longer than 40 characters and less than 10")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...