VBScript et les feuilles

Microsoft VBScript

Microsoft® Visual Basic® Scripting Edition VBScript et les feuilles  Didacticiel VBScript 
 Précédent 
Suivant 

 

Validation simple
Vous pouvez utiliser Visual Basic Scripting Edition pour effectuer une grande partie des traitements de feuille qui nécessitent en général un serveur. Vous pouvez aussi réaliser des opérations impossibles sur un serveur.

Voici un exemple de validation simple côté client. Le code HTML correspond à un champ de texte et un bouton. Si vous utilisez Microsoft® Internet Explorer pour afficher la page produite par le code suivant, vous observerez un petit champ de texte à côté d'un bouton.

<HTML>
<HEAD><TITLE>Validation simple</TITLE>
<SCRIPT LANGUAGE="VBScript"> 
<!--
Sub Soumettre_OnClick
  Dim LaFeuille
  Set LaFeuille = Document.ValidForm
  If IsNumeric(LaFeuille.Text1.Value) Then
    If LaFeuille.Text1.Value < 1 Or LaFeuille.Text1.Value > 10 Then
      MsgBox "Veuillez entrer un nombre entre 1 et 10."
    Else
      MsgBox "Merci."
    End If
  Else
    MsgBox "Veuillez entrer une valeur numérique."
  End If
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<H3>Validation simple</H3><HR>
<FORM NAME="ValidForm">
Entrez une valeur entre 1 et 10: 
<INPUT NAME="Text1" TYPE="TEXT" SIZE="2">
<INPUT NAME="Submit" TYPE="BUTTON" VALUE="Soumettre">
</FORM>
</BODY>
</HTML>
La différence entre ce champ de texte et les exemples de Une page VBScript simple est que la propriété Value du champ de texte est utilisée pour vérifier la valeur entrée. Pour lire une propriété Value, le code doit qualifier la référence au nom du champ de texte.

Vous pouvez toujours écrire la référence complète Document.FeuilleValidation.Texte1. Toutefois, lorsque vous avez de multiples références aux contrôles de la feuille, vous emploierez la méthode suivante. Déclarez tout d'abord une variable. Utilisez ensuite l'instruction Set pour affecter la feuille à la variable LaFeuille. Une instruction d'affectation normale, comme Dim, ne fonctionne pas dans ce cas ; vous devez utiliser Set pour préserver la référence à un objet.

Utilisation de valeurs numériques
Remarquez que l'exemple teste directement la valeur par rapport à un nombre : il utilise la fonction IsNumeric pour vérifier que la chaîne dans le champ est un nombre. Bien que VBScript convertisse automatiquement les chaînes et les nombres, il est recommandé de tester le sous-type des valeurs saisies par l'utilisateur et d'utiliser les fonctions de conversion le cas échéant. Pour additionner des valeurs issues de champs de texte, convertissez les valeurs explicitement en nombres parce que le symbole d'opérateur +) représente à la fois l'addition numérique et la concaténation de chaînes. Par exemple, si Texte1 contient "1" et Texte2 contient "2", on observe les résultats suivants :
A = Texte1.Value + Texte2.Value		' A vaut "12"
A = CDbl(Texte1.Value) + Texte2.Value	' A vaut 3

Validation et renvoi de données vers le serveur
L'exemple de validation simple utilise un simple contrôle Button. Si un contrôle Submit était utilisé, l'exemple ne verrait pas les données pour les vérifier puisqu'elles seraient envoyées immédiatement au serveur. En évitant l'utilisation du contrôle Submit, vous pouvez vérifier les données mais celles-ci ne sont pas soumises au serveur. Ceci nécessite une ligne de code supplémentaire :
<SCRIPT LANGUAGE="VBScript"> 
<!--
Sub Soumettre_OnClick
  Dim LaFeuille
  Set LaFeuille = Document.ValidForm
  If IsNumeric(LaFeuille.Texte1.Value) Then
    If LaFeuille.Texte1.Value < 1 Or LaFeuille.Texte1.Value > 10 Then
      MsgBox "Veuillez entrer un nombre entre 1 et 10."
    Else
      MsgBox "Merci."
      LaFeuille.Submit	' Données correctes; envoyer au serveur.
    End If
  Else
    MsgBox "Veuillez entrer une valeur numérique."
  End If
End Sub
-->
</SCRIPT>
Pour envoyer les données au serveur, le code appelle la méthode Submit sur l'objet feuille lorsque les données sont correctes. À partir de ce moment, le serveur gère les données comme il l'aurait fait directement, sauf que les données ont été vérifiées avant d'être envoyées. Vous trouverez des informations complètes sur la méthode Submit et sur d'autres méthodes dans la documentation Internet Explorer Scripting Object Model accessible à partir du site Web de Microsoft (http://www.microsoft.com) ou sur le site européen (http://www.eu.microsoft.com).

Pour l'instant, vous avez vu uniquement les objets <FORM> HTML standard. Internet Explorer vous permet aussi d'exploiter toute la puissance des contrôles ActiveX™ (anciennement contrôles OLE) et Java™.