Это может быть как-то общее, но я хочу ограничить количество символов inpit в поле editorfor.mvc3 maxLength input
@html.EditorFor(m=>m.id,new {@maxlength="10"})
Это не работает.
Это может быть как-то общее, но я хочу ограничить количество символов inpit в поле editorfor.mvc3 maxLength input
@html.EditorFor(m=>m.id,new {@maxlength="10"})
Это не работает.
Попробуйте изменить его
@Html.TextBoxFor(m=> m.id, new { maxlength="10" });
EditorFor использует шаблоны, которые вы можете переопределить себя. Я не думаю, что они учитывают атрибуты, которые вы проходите так. TextBoxFox <> генерирует его в коде и должен работать нормально.
В MVC3, это лучше:
[StringLength(10, ErrorMessage = "Name cannot be longer than 10 characters.")]
public string Name { get; set; }
Задает минимальную и максимальную длину символов, разрешенных в поле данных. как в этом https://stackoverflow.com/a/6802739/2127493
Это не сработало для меня, ни 'MaxLength', ни' StringLength' не добавили атрибут 'maxlength', вместо этого я получил только' data-val-length-max' и 'data-val-maxlength-max'. – MushyPeas
Мне удалось заставить его работать в IE11 с помощью редактора и использовать несколько атрибутов.
@Html.EditorFor(model => model.CourseNumber, new { htmlAttributes = new { @style = "width:100px", @maxlength="10" } })
А что, если нам нужно объединить. Я должен использовать редактор для водяных знаков, и вам все равно нужна максимальная длина. вот мой код редактора '@ Html.TextBox (" ", ViewData.TemplateInfo.FormattedModelValue, new {placeholder = ViewData.ModelMetadata.Watermark})' как я могу получить «max» из метаданных? –
Вы должны написать свой собственный поставщик метаданных (возможно) и настраиваемый помощник, который добавляет к HtmlOptions перед рендерингом (в основном простая оболочка). –