6 votes

Différence entre "Html.Validate" et "Html.ValidateFor".

Pourquoi utilisons-nous .Validate y .Validatefor dans la validation ?

Je l'utilise, mais je ne reçois pas de message d'erreur dans l'interface utilisateur.

Code

<div>
    @{Html.BeginForm();}
    @Html.TextBoxFor(x => x.LastName, new { id = "txtLastName" })
    @{Html.Validate("LastName");}
    @{Html.ValidateFor(x=>x.LastName);}
    <input type="submit" id="btnSubmit" value="Submit" />
    @{Html.EndForm();}
</div>

13voto

Andrei Points 25595

Ce comportement est intentionnel. Ces deux aides enregistrent simplement les paramètres correspondants pour la validation côté client, sans afficher de message en cas d'échec de la validation. Cependant, ce message peut toujours être affiché dans un ValidationSummary .

Si vous voulez montrer le message spécifique au champ/paramètre, vous devez utiliser ValidationMessage o ValidationMessageFor à la place :

@Html.ValidationMessage("LastName")
@Html.ValidationMessageFor(x=>x.LastName)

3voto

Vinay Pratap Singh Points 5151

Si, dans certaines situations, vous ne souhaitez pas qu'un message de validation apparaisse visuellement pour chaque champ (c'est-à-dire en utilisant Html.ValidationMessage), mais plutôt qu'un résumé soit la seule source de messages d'erreur de validation (c'est-à-dire en utilisant Html.ValidationSummary), vous avez toujours besoin d'un moyen de "déclencher" la validation pour les champs spécifiques que vous souhaitez. Pour ce faire, vous pouvez utiliser les méthodes Html.Validate/Html.ValidateFor<> dans votre vue. Ces aides ne rendront rien, mais enregistreront simplement le champ spécifié pour la validation côté client.

Voir ce post pour la réponse Comment fonctionne réellement la validation dans ASP.NET MVC 2 ?

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