może to być rodzaj ogólny, ale chcę ograniczyć liczbę znaków inpit w polu editorfor.mvc3 maxLength input
@html.EditorFor(m=>m.id,new {@maxlength="10"})
To nie działa.
może to być rodzaj ogólny, ale chcę ograniczyć liczbę znaków inpit w polu editorfor.mvc3 maxLength input
@html.EditorFor(m=>m.id,new {@maxlength="10"})
To nie działa.
Spróbuj zmienić ją
@Html.TextBoxFor(m=> m.id, new { maxlength="10" });
EditorFor wykorzystuje szablony, które można przesłonić siebie. Myślę, że nie biorą pod uwagę atrybutów, które przekazujesz w ten sposób. TextBoxFox <> generuje go w kodzie i powinien działać poprawnie.
W MVC3, to jest lepsze:
[StringLength(10, ErrorMessage = "Name cannot be longer than 10 characters.")]
public string Name { get; set; }
Określa minimalną i maksymalną liczbę znaków, które są dozwolone w polu danych. jak w tym https://stackoverflow.com/a/6802739/2127493
To nie działało dla mnie, ani 'MaxLength' ani' StringLength' nie dodały atrybutu 'maxlength', zamiast tego otrzymałem tylko' data-val-length-max' oraz 'data-val-maxlength-max'. – MushyPeas
Udało mi się uzyskać to działa w IE11 przy użyciu EditorFor i przy użyciu wielu atrybutów.
@Html.EditorFor(model => model.CourseNumber, new { htmlAttributes = new { @style = "width:100px", @maxlength="10" } })
A co, jeśli musimy połączyć. Muszę użyć edytora znaków wodnych i nadal potrzebuję maksymalnej długości. tutaj jest mój kod edytora '@ Html.TextBox (" ", ViewData.TemplateInfo.FormattedModelValue, new {placeholder = ViewData.ModelMetadata.Watermark})' jak mogę uzyskać "max" z metadanych? –
Musisz napisać własnego dostawcę metadanych (być może) i niestandardowego pomocnika, który dodaje HtmlOptions przed renderowaniem (w zasadzie proste opakowanie). –