87 votes

L'attribut MaxLength ne génère pas d'attributs de validation côté client

J'ai un curieux problème avec la validation côté client d'ASP.NET MVC3. J'ai la classe suivante :

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; }
}

De mon point de vue :

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

Et voici le HTML généré que j'obtiens pour la zone de texte de ce champ :

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

Aucun signe de la MaxLengthAttribute mais tout le reste semble fonctionner.

Une idée de ce qui ne va pas ?

-1voto

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

$('#Name1').keypress(function () {
    if (this.value.length >= 5) return false;
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X