MVC 3 Validation - afficher Uniquement les messages d'erreur après avoir perdu le focus ou de les soumettre?

Que j'ai mis les entités dans mon MVC 3 app avec DataAnnotations (obligatoire, stringlength, etc) et le MVC page montre des messages d'erreur de validation de façon appropriée. Mais, les messages d'erreur sont affichés dès que la page se charge sur une nouvelle forme avant que l'utilisateur a eu la chance d'entrer une valeur non valide.

J'avais utilisé JQuery validation il y a quelques années et a été en mesure d'afficher uniquement les messages d'erreur après que l'utilisateur a perdu le focus sur un champ ou une tentative de soumettre le formulaire. En fait, je pense que c'était le comportement par défaut.

Est-il de toute façon de faire de même dans MVC 3 à l'aide de DataAnnotations?

EDIT: Voici le code HTML

<div class="form horizontal floated w50p">
<h3>Billing Information</h3>
@using(Html.BeginForm()){
<div class="item">
<div class="label">
<label>* First Name</label></div>
<div class="value">@Html.TextBoxFor(x => x.Name)</div>
<div class="value">@Html.ValidationMessageFor(x => x.Name)</div>
</div>
<div class="item">
<div class="label">
<label>* Address 1</label></div>
<div class="value">@Html.TextBoxFor(x => x.Street1)</div>
<div class="value">@Html.ValidationMessageFor(x => x.Street1)</div>
</div>
<div class="item">
<div class="label">
<label>Address 2</label></div>
<div class="value">@Html.TextBoxFor(x => x.Street2)</div>
</div>
<div class="item">
<div class="label">
<label>Address 3</label></div>
<div class="value">@Html.TextBoxFor(x => x.Street3)</div>
</div>
<div class="item">
<div class="label">
<label>City</label></div>
<div class="value">@Html.TextBoxFor(x => x.City)</div>
<div class="value">@Html.ValidationMessageFor(x => x.City)</div>
</div>
<div class="item">
<div class="label">
<label>State/Province/Region</label></div>
<div class="value">@Html.TextBoxFor(x => x.StateProv)</div>
<div class="value">@Html.ValidationMessageFor(x => x.StateProv)</div>
</div>
<div class="item">
<div class="label">
<label>Zip / Postal Code</label></div>
<div class="value">@Html.TextBoxFor(x => x.PostalCode)</div>
<div class="value">@Html.ValidationMessageFor(x => x.PostalCode)</div>
</div>
<div class="item">
<div class="label">
<label>* Contact Phone</label></div>
<div class="value">@Html.TextBoxFor(x => x.ContactPhone)</div>
<div class="value">@Html.ValidationMessageFor(x => x.ContactPhone)</div>
</div>        <input type="submit" value="Submit" />
}

OriginalL'auteur chief7 | 2011-05-18