web-dev-qa-db-fra.com

Comment contourner la validation d'un bouton dans ASP.NET?

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?

37
Mark Allison

Définissez la propriété CausesValidation sur false.

72
Brandon
<asp:Button runat="Server" ... CausesValidation="False" />

Button.CausesValidation (Si je me souviens bien).

20
Brad Christie

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

5
IrishChieftain

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.

4
Bharath theorare

Définissez le paramètre button.causesValidation sur false.

ce lien

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.

2
MoarCodePlz

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

1
Krishnakumar

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.

Pour plus d'informations

0
DJN