2011-01-05 3 views
1

J'ai un validateur personnalisé dans lequel le script validant le contrôle est JavaScript côté client.Les validateurs personnalisés ASP.NET - Page.Validate ("groupName") ne se déclenchent pas?

Dans mon code VB derrière pour le site Web, j'appelle le Page.Validate("groupName") mais mon script de validation n'est pas déclenché du tout. J'ai placé un point de rupture dans mon JavaScript, mais cela ne touche même pas mon script de validation. Alors que lorsque j'utilise la même fonction sur des validateurs non personnalisés, cela fonctionne.

Je pense qu'il est impossible d'appeler mon script de validation côté client dans mon VB derrière le code via Page.Validate("groupName"). Ai-je absolument besoin d'une fonction de validation côté serveur?

est ici un peu de code:

<asp:CustomValidator ID="ValidateTxt" runat="server" 
    ClientValidationFunction="validateTxt" 
    ControlToValidate="txtBox" 
    Display="Dynamic" 
    ValidationGroup="group1"> 
</asp:CustomValidator> 

<script type="text/javascript" language="javascript" > 
    function validateFinHeight(source, arguments) 
    { 
     if(arguments.Value % 2 == 0){ 
      arguments.IsValid = true; 
     }    
    } 
</script> 

VB Derrière le code:

Protected Sub cbo(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbo.SelectedIndexChanged 
    Page.Validate("group1") 
End Sub 

Le Page.Validate("group1") n'appelle pas ma fonction JavaScript.

+0

Oui, vous avez absolument besoin d'une validation côté serveur car un utilisateur peut ignorer vos vérifications javascript et soumettre ce qu'il souhaite à votre formulaire. La seule façon d'être sûr est de vérifier sur le serveur. – Greg

+0

Je ne suis pas inquiet au sujet du contournement des utilisateurs car il s'agit d'une application web simple qui ne sera utilisée que par 3-4 personnes dans l'entreprise où je travaille. Ce ne sera pas ouvert au public où les gens vont essayer des trucs sales comme ça. – Johnrad

Répondre

3

Page.Validate est utilisé pour valider à côté serveur. Si vous voulez déclencher la validation côté client, appelez la fonction Page_ClientValidate("group1") à partir de votre code JavaScript.

Questions connexes