Question

J'ai mis un validateur de plage dans un contrôle de zone de texte asp.net dans ma page Web; chaque fois que la plage ne se rencontre pas; il affichera le message d'erreur,

Mais cela passe à la page suivante. comment je peux l'empêcher de passer à la page suivante après avoir cliqué sur le bouton Soumettre alors que la plage n'était pas remplie?

Était-ce utile?

La solution

  • Assurez-vous que votre bouton d'envoi se trouve dans le même ValidationGroup que votre validateur de plage. Cela est particulièrement vrai si vous avez défini plus d'un ValidationGroup .

  • Assurez-vous que la propriété CausesValidation n'est pas définie sur False sur le bouton. La valeur par défaut est True . Par conséquent, si la propriété n'est pas déclarée dans votre code ASPX ou derrière, le bouton déclenchera votre séquence de validation.

  • Si vous n'utilisez pas le flux de page normal (la touche UseSubmitBehvior de votre bouton est définie sur False ou, dans certains cas, avec asych Rappels AJAX), vous voudrez alors envelopper le code de changement de page dans un bloc If qui vérifie Page.IsValid avant le déclenchement.

  • Vérifiez que le ControlToValidate est défini sur le contrôle correct et qu'il n'a pas de valeur par défaut qui passe la validation.

Autres conseils

Code?

Soumettez-vous directement à la page suivante plutôt que de poster à la même page et de rediriger?

Vous redirigez-vous dans Page_Load, ce qui se produit validation ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top