questo può essere un tipo di generale ma voglio limitare il numero di caratteri in ingresso in un campo editor per.mvc3 maxLength input
@html.EditorFor(m=>m.id,new {@maxlength="10"})
Questo non sembra funzionare.
questo può essere un tipo di generale ma voglio limitare il numero di caratteri in ingresso in un campo editor per.mvc3 maxLength input
@html.EditorFor(m=>m.id,new {@maxlength="10"})
Questo non sembra funzionare.
provare a cambiare a
@Html.TextBoxFor(m=> m.id, new { maxlength="10" });
EditorFor utilizza i modelli, che è possibile eseguire l'override da soli. Non penso che tengano conto degli attributi in cui passi in questo modo. TextBoxFox < lo genera in codice e dovrebbe funzionare correttamente.
In MVC3, questo è meglio:
[StringLength(10, ErrorMessage = "Name cannot be longer than 10 characters.")]
public string Name { get; set; }
Specifica la lunghezza minima e massima di carattere consentito in un campo dati. come in questo https://stackoverflow.com/a/6802739/2127493
Questo non ha funzionato per me, né 'MaxLength' né' StringLength' hanno aggiunto l'attributo 'maxlength', invece ho solo' data-val-length-max' e 'data-val-maxlength-max'. – MushyPeas
Sono riuscito a farlo funzionare in IE11 utilizzando EditorFor e utilizzando più attributi.
@Html.EditorFor(model => model.CourseNumber, new { htmlAttributes = new { @style = "width:100px", @maxlength="10" } })
E se è necessario combinare. Devo usare l'editor per watermark e ho ancora bisogno di maxlength. ecco il mio codice editor '@ Html.TextBox (" ", ViewData.TemplateInfo.FormattedModelValue, new {placeholder = ViewData.ModelMetadata.Watermark})' come posso ottenere "max" dai metadati? –
Devi scrivere il tuo provider di metadati (possibilmente) e un helper personalizzato che aggiunge a HtmlOptions prima del rendering (fondamentalmente un semplice wrapper). –