2010-06-11 6 views

Répondre

4

Rappelez-vous que la validation réelle devrait toujours se produire sur le serveur. Tout ce que vous faites côté client est simplement une optimisation pour sauver quelques voyages aller-retour http. La meilleure façon de synchroniser votre validation côté client et côté serveur avec ASP.Net consiste à utiliser les contrôles de validation. Les contrôles de validation effectuent la validation côté client et côté serveur, de sorte que si la validation échoue sur le client, elle ne publie jamais sur le serveur.

Si vous voulez faire quelque chose qui n'est pas couvert par les contrôles de validation standard, vous devez utiliser un CustomValidator ou hériter de votre propre contrôle de BaseValidator.

0

Qu'est-ce que vous utilisez: un validateur ou un bouton avec événement onclick? Si vous avez

<input type="button" id="btnID" runat="server" onclick="CheckValid();"/> 

function CheckValid() 
{ 
    if(!IsValid) return false;//then no post back occer 
} 
+1

Vous pouvez simplement retourner IsValid dans cet exemple :) – TheLukeMcCarthy

+0

Vous devriez voter pour la réponse de "user132936" qui est blowe. – Kate

2

Si le postback est déclenchée par un bouton, vous pouvez faire quelque chose comme ceci:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return IsValid();" /> 

Si la fonction IsValid retourne false alors le postback sera empêché. Si vous voulez attraper tous postbacks indépendamment dont le contrôle déclenche alors vous pouvez utiliser
<form id="form1" runat="server" onsubmit="return IsValid();">

0

En fonction de la validation que vous essayez, vous pouvez aussi être en mesure d'utiliser le contrôle CustomValidator. Cela vous permettrait également d'implémenter facilement votre logique de validation côté serveur.

Questions connexes