J'ai un formulaire ASP.NET qui prend les entrées d'un utilisateur. Il y a un bouton Submit
sur le formulaire et un bouton appelé Calc
qui effectue un calcul pour renseigner un champ de texte. Le problème que je rencontre est que sur le formulaire, j'ai un ensemble de validateurs <ASP:REQUIREDFIELDVALIDATOR>
et que lorsque le bouton Calc
est appuyé, le formulaire est validé. Je ne veux pas que les champs obligatoires soient validés lorsque le bouton Calc
est enfoncé, seul le bouton Submit
. Tout moyen de contourner ça?
Définissez la propriété CausesValidation
sur false.
<asp:Button runat="Server" ... CausesValidation="False" />
Button.CausesValidation (Si je me souviens bien).
Essayez de mettre CausesValidation="false"
en tant qu'attribut de bouton.
Quelques exemples de code:
http://weblogs.asp.net/scottgu/archive/2005/08/04/421647.aspx
ASPX Page:
<asp:Button ID="buttonNew" runat="server" Text="New" CausesValidation="False" />
OU
CodeBehind Page: (.cs)
buttonNew.CausesValidation = false;
Vérifiez ici pour en savoir plus sur les événements Validated
et Validating
pour les contrôles.
Définissez le paramètre button.causesValidation sur false.
Cependant, si tout ce que vous faites est de calculer quelque chose en fonction des entrées de l'utilisateur, vous ne devriez pas l'avoir du tout publié. Je recommanderais d'utiliser un bouton HTML et d'y attacher du javascript pour faire votre travail pour vous et vous n'aurez alors pas ce problème.
Lors de la conception du bouton, vous pouvez définir sa propriété CausesValidation = "false" pour éviter la validation sur un événement de clic de bouton. Il ne permet pas de valider le contrôle du serveur et d’effectuer son événement click uniquement
Pour désactiver la validation dans un contrôle spécifique
Définissez la propriété CausesValidation du contrôle sur false.
<asp:Button id="Button3" runat="server"
Text="Cancel" CausesValidation="False">
</asp:Button>
Pour désactiver un contrôle de validation
Set the validation controls Enabled property to false.
Pour désactiver la validation côté client
Set the validation controls EnableClientScript property to false.