5. Créer une page de message ---- contrôle de validation des données et ajouter des données
Introduction connexe :
L'exactitude des données est requise pour le site Web. Afin de vérifier plus facilement si les données saisies par les utilisateurs sont correctes, ASP.NET fournit aux programmeurs des contrôles de validation des données. Les contrôles de validation des données fournis par ASP.NET incluent. (Remarque : afin d'afficher le code, tous les codes suivants comportent des espaces après "<" et avant ">". Nous nous excusons pour la gêne occasionnée !) :
La fonction | de contrôle |
RequiredFieldValidator |
vérifie | si des données sont saisies dans un champ de saisie. |
RangeValidator | vérifie si les données saisies dans un champ de saisie se trouvent dans une plage spécifique. |
Teste si un champ de saisie est égal, différent de, supérieur, supérieur ou inférieur à |
ValidationSummary | répertorie tous les contrôles qui ont échoué au test. |
RegularExpressionValidator | Vérifier si une colonne est conforme aux règles d'expression régulière |
Règles de validation personnalisées | CustomValidator |
ÉTAPE 1 Page de conception <BR>Nous utilisons d'abord un tableau pour concevoir un cadre approximatif. Puisque la table COMMENTS de la base de données contient
[Figure 5-1 Cadre de base de données]
COMMENT_ID (numéro automatique), FIRST_NAME (texte), LAST_NAME (texte), TELEPHONE (texte), EMAIL (texte), SUBMIT_DATE (date/heure), COMMENTS (notes), ANSWERED (valeur booléenne) et autres champs. En fonction des besoins, nous avons conçu la page comme indiqué ci-dessous dans le site, nommée reg.aspx.
[Figure 5-2, page initiale]
Parmi eux, COMMENT_ID peut être automatiquement ajouté par ACCESS, et ANSWERED n'a pas besoin d'être ajouté par l'utilisateur. La valeur par défaut de SUBMIT_DATE est définie sur Now() et ACCESS écrira automatiquement la date de l'enregistrement ajouté.
Dans la page ASP précédente, on peut passer
pour configurer les zones de saisie pour saisir des données. ASP.NET dispose d'un contrôle textbox pour accepter les données. La syntaxe est la suivante :
< asp:textbox id=”…” runat=”server” autres attributs/ >
Dans DreamweaverMX, vous pouvez cliquer sur Bouton de raccourci pour ajouter un contrôle de zone de texte. Dans la boîte de dialogue contextuelle, définissez l'ID, le mode texte (type de boîte de dialogue), l'info-bulle (l'invite lorsque la souris survole le contrôle), la mise en page (conception de style) et les informations de style (utilisées pour définir l'entrée format de texte et format de bordure de zone de texte) pour définir le contrôle. L'image ci-dessous est la boîte de dialogue des paramètres de la zone de texte.
[Figure 5-3, boîte de dialogue des paramètres de la zone de texte 1]
[Figure 5-4, boîte de dialogue des paramètres de la zone de texte 2]
[Figure 5-5, boîte de dialogue des paramètres de la zone de texte 3]
Étant donné que l'élément de données COMMENTAIRE nécessite la saisie d'une grande quantité de texte, une zone de texte avec plusieurs lignes de saisie doit être utilisée. Réglez simplement le mode texte sur MultiLine et entrez le nombre de lignes souhaité (Rows).
Afin de générer l'événement ajouté, un bouton est également nécessaire. Cliquez sur l'onglet Formulaires et cliquez sur le bouton "bouton" pour ajouter.
Utilisation de la validation des données STEP2
Étant donné que First_name, Last_name, phone et email doivent être saisis, afin d'éviter que l'utilisateur n'oublie de saisir, vous pouvez ajouter le contrôle RequiredFieldValidator pour vérifier le contrôle. Étant donné que le contrôle affichera le contenu qui échoue à la vérification à son emplacement en cas d'erreurs de validation, le contrôle de validation des données doit être placé à l'emplacement approprié.
La syntaxe de contrôle pour la validation des données RequiredFieldValidator est la suivante :
< asp:RequiredFieldValidato autres attributs runat="server" >Message d'erreur</ asp:RequiredFieldValidator >
ou
< asp:RequiredFieldValidator ErrorMessage="Message d'erreur" Autres attributs runat="server"/ >
Après avoir cliqué sur Plus de balises, sélectionnez Serveur de validation des balises ASP.NET et vous pouvez voir qu'il existe différents types de contrôles de validation de données parmi lesquels choisir. Nous devons ajouter le contrôle de validation asp:RequiredFieldValidator derrière la zone de saisie First_name.
Dans la fenêtre des paramètres du contrôle RequiredfieldValidator, Control to Validate est l'ID du contrôle d'entrée associé à ce contrôle de validation de données, et Error Message est le message affiché lorsque la validation des données échoue. Dans le même temps, nous pouvons sélectionner le style requis en définissant les informations de mise en page et de style.
[Figure 5-6 Sélection du contrôle de validation]
[Figure 5-7 Boîte de dialogue des paramètres du contrôle RequiredfieldValidator]
Dans le même temps, ajoutez un autre contrôle de validation de données RequiredFieldValidato en utilisant la même méthode derrière la zone de saisie Last_Name. Nous pouvons maintenant enregistrer et prévisualiser la page. Lorsqu'aucune donnée n'est saisie dans les zones de saisie Prénom et Nom et que vous cliquez sur le bouton Soumettre, un message d'échec de vérification apparaît. Comme le montre la figure 5-8.
Mais nous devons souvent vérifier des données valides. Par exemple, le code postal doit comporter 6 chiffres et l'adresse e-mail saisie doit être sous une forme spécifique. Ici, vous devez utiliser RegularExpressionValidator pour vérifier la validité des données. Dans cette page d'inscription, le téléphone et le courrier électronique peuvent utiliser ce contrôle à des fins de vérification.
[Figure 5-8 Boîte de dialogue RequiredfieldValidator]
[Figure 5-9 Propriétés des paramètres de messagerie]
Semblable à la méthode d’ajout du contrôle de validation RequiredfieldValidator, cliquez sur « Plus de balises… » pour choisir d’ajouter le contrôle de validation des données. La différence réside dans la définition de l'expression de validation. Étant donné que le téléphone doit saisir 7 à 10 chiffres, il doit être configuré comme suit :
[0-9]{7,10}
Sa syntaxe est la suivante :
[] : utilisé pour définir les caractères acceptables. Par exemple, az signifie que les minuscules « a - z » sont des caractères acceptables, a-zA-Z signifie que toutes les lettres sont acceptables et 0-9 signifie que toutes les lettres sont acceptables. nombre.
{} : utilisé pour définir le nombre de caractères à saisir, {7,10} signifie que 7 à 10 caractères peuvent être saisis, {0,} signifie que 0 caractères illimités peuvent être acceptés.
'.' : Indique la saisie d'un caractère. .{0,} signifie que 0 - un nombre infini de caractères est acceptable.
| : Indique OR (ou), par exemple, [A-Za-z]{3}|[0-9]{3} signifie que 3 lettres anglaises ou 3 chiffres peuvent être acceptés
() : Pour faciliter la lecture, les chaînes contenant le symbole | sont généralement entourées de (). Par exemple ([A-Za-z]{3}|[0-9]{3}).
: S'il contient des symboles spéciaux tels que [], {}, (), |, etc., doit être ajouté avant ces chaînes.
Voici quelques-uns des exemples les plus couramment utilisés :
E-mail : .{1,}@.{1,}/..{1}
Téléphone (y compris l'indicatif régional) : ([0-9]{3,4}))[0-9]{7,8}
Bien qu'il n'y ait aucune garantie que les données saisies par l'utilisateur correspondent aux données réelles, le contrôle de validation peut garantir que le format est correct.
[Figure 5-10 Page d'aperçu]
Quant au contrôle CompareValidator, ses propriétés sont définies comme suit :
Contrôle à comparer | définit le contrôle auquel il est comparé |
Contrôle à valider | définit le contrôle auquel il est associé |
La valeur à comparer | définit la valeur comparée |
L'opérateur | définit la relation de comparaison ( égal à, différent de, supérieur à, supérieur ou égal à, inférieur à, inférieur ou égal à ) |
Type | Type de données de comparaison |
Le message d'erreur | affiche des informations |
[Figure 5-11 Boîte de dialogue Paramètres de CompareValidator]
La méthode de configuration de CustomValitor est similaire à celle des autres contrôles, mais la fonction manuscrite OnServerValidate (dans Événements) est requise pour vérifier les données.
[Figure 5-12Boîte de dialogue Paramètres CustomValitor]
Par exemple
< asp:CustomValidator id="CusValid" runat="server" ControlToValidate=Nom du contrôle OnServerValidate="TheFunction" >Message d'erreur</ asp:CustomValidator >
<langage de script=”vb” runat=”serveur” >
Fonction TheFunction (expéditeur en tant qu'objet, valeur en tant que chaîne) en tant que booléen
……..
retourner…
Fin de fonction
</ /script >
Ce contrôle appellera la fonction TheFuncion. Si false est renvoyé, un message d'erreur sera signalé.
Contrôle RangeValidator
[Figure 5-12 Boîte de dialogue de paramétrage RangeValidatorr]
Vous pouvez définir la plage de valeurs via la valeur minimale et la valeur maximale. Dans le même temps, vous pouvez définir le type de comparaison via Type, tel que "string", "Integer", etc. Les autres paramètres sont similaires à ceux des autres composants.
Il existe également un composant : ValidationSummary. Parmi eux, HeaderText définit le texte d'en-tête et DisplayMode définit le mode d'affichage. Ses propriétés spécifiques sont les suivantes :
Valeur d'attribut | signifiant |
List BulletList SingleParagraph | ErrorMessage est affiché sur des lignes séparées. ErrorMessage est affiché sur des lignes séparées . |
[Figure 5-13 Boîte de dialogue de configuration de la propriété ValidationSummary]
Ci-joint le code source des principaux segments du programme :
< table width="75%" height="594" border="1" cellpadding="1" cellpacing="0" bordercolor="#999999" >
<tr>
< td width="22%" height="22" >Prénom< /td >
< td width="38%" >< asp:textbox BackColor="#CCCCCC" ForeColor="#0033FF" ID="first" runat="server" TextMode="SingleLine" ToolTip="Veuillez saisir le prénom" MaxLength ="40" BorderWidth="1" width="200"/ >< /td >
< td width="40%" >< asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="first" ErrorMessage="RequiredField" ForeColor="#FF0000" ID="validname" runat="server" / > < /td >
< /tr >
<tr>
< td height="22" >Nom< /td >
< td >< asp:textbox BackColor="#CCCCCC" ForeColor="#0033FF" ID="Lastname" runat="server" TextMode="SingleLine" width="200" ToolTip="Veuillez saisir le nom de famille" BorderWidth= "1"/ >< /td >
< td >< asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="Lastname" ErrorMessage="RequiredField" ForeColor="#FF0000" ID="vailLast" runat="server" / > </ /td >
< /tr >
<tr>
< td height="22" >Téléphone< /td >
< td >< asp:textbox BackColor="#CCCCCC" BorderWidth="1" ForeColor="#0066FF" ID="téléphone" runat="server" TextMode="SingleLine" ToolTip="Veuillez saisir votre téléphone" width=" 200" / >< /td >
< td > < asp:regularexpressionvalidator BackColor="#CCCCCC" ControlToValidate="telephone" ErrorMessage="7 à 10 numéros requis" ForeColor="#FF0000" ID="vailtel" runat="server" ValidationExpression="[0-9 ]{7,10}" / > < asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="telephone" ErrorMessage="RequiredField" ForeColor="#FF0000" ID="vailtel2" runat="server" / >< /td >
< /tr >
<tr>
< td height="22" >E-mail</td >
< td >< asp:textbox BackColor="#CCCCCC" BorderWidth="1" ForeColor="#0033FF" ID="email" runat="server" TextMode="SingleLine" ToolTip="Veuillez saisir la largeur de votre e-mail" ="200"/ >< /td >
< td >< asp:regularexpressionvalidator BackColor="#CCCCCC" ControlToValidate="email" ErrorMessage="Adresse e-mail invalidée" ForeColor="#FF0000" ID="valiemail" runat="server" ValidationExpression=".{1,}@ .{3,}" / > < asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="email" ErrorMessage="Champ obligatoire" ForeColor="#FF0000" ID="valiemail2" runat="server" / > < /td >
< /tr >
<tr>
< td height="22" colspan="3" >< div align="center" >Commentaires< /div >< /td >
< /tr >
<tr>
< td height="188" colspan="3" >< div align="center" >
< asp:textbox BackColor="#CCCCCC" BorderWidth="1" ForeColor="#0033FF" ID="Comments" Rows="16" runat="server" TextMode="MultiLine" ToolTip="Veuillez saisir la largeur des commentaires" ="400"/ >
< /div >
< div align="center" > < br >
< /div >< /td >
< /tr >
<tr>
< td height="71" colspan="3" >< div align="center" >
< asp:validationsummary BackColor="#CCCCCC" DisplayMode="BulletList" ForeColor="#FF0000" HeaderText="Le contenu incorrect inclut :" ID="valSum" runat="server" ToolTip="Error" />
< /div >< /td >
< /tr >
<tr>
< td height="22" colspan="3" >< input type="submit" name="Soumettre" value="Soumettre" >
</ /td >
< /tr >
< /table >
Le style est le suivant :
[Figure 5-14 Aperçu]
ÉTAPE 3 Ajout de données
Quant à la fonction d'ajout de données, elle est relativement simple. Nous pouvons définir la fonction d'ajout de données via l'assistant et laisser DreamweaverMX ajouter automatiquement le code. Cliquez sur l'onglet Comportements du serveur dans Application, puis cliquez sur le bouton + pour sélectionner Insérer un enregistrement (Figure 5-15).
Dans la boîte de dialogue contextuelle, vous devez d'abord déterminer la source de données connectée. S'il ne figure pas dans la liste, vous pouvez cliquer sur le bouton Définir pour définir la source de données (Figure 5-16). Insérer dans le tableau est utilisé pour définir le tableau auquel les données doivent être ajoutées. Dans les colonnes, la zone de texte peut être mise en correspondance avec la source de données correspondante et le type de données peut être défini. En cas de succès, Go To définit la page vers laquelle accéder si les données sont ajoutées avec succès. En cas d'échec, Go To peut définir la page à laquelle accéder si l'ajout de données échoue. Dans le même temps, nous pouvons également choisir Afficher les informations de débogage en cas d'échec pour définir le message d'erreur à afficher lorsque l'ajout de données échoue.
[Figure 5-15 Sélectionner Insérer un enregistrement]
[Figure 5-16 Paramètres d'ajout de données]
Regardons le code ajouté :
<MM : Insérer
runat="serveur"
CommandText='< %# "INSÉRER DANS LES COMMENTAIRES (COMMENTAIRES, EMAIL, FIRST_NAME, LAST_NAME, TÉLÉPHONE) VALEURS (?, ?, ?, ?, ?)" % >'
ConnectionString='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_location") % >'
DatabaseType='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_location") % >'
Expression='< %# Request.Form("MM_insert") = "form1" % >'
CreateDataSet="faux"
SuccessURL='< %# "index.htm" % >'
FailureURL='< %# "reg.aspx" % >'
Débogage="true"
>
<Paramètres>
< Parameter Name="@COMMENTS" Value='< %# IIf((Request.Form("Comments") < > Nothing), Request.Form("Comments"), "") % >' Type="WChar" />
< Parameter Name="@EMAIL" Value='< %# IIf((Request.Form("email") < > Nothing), Request.Form("email"), "") % >' Type="WChar" />
< Parameter Name="@FIRST_NAME" Value='< %# IIf((Request.Form("first") < > Nothing), Request.Form("first"), "") % >' Type="WChar" />
< Parameter Name="@LAST_NAME" Value='< %# IIf((Request.Form("Lastname") < > Nothing), Request.Form("Lastname"), "") % >' Type="WChar" />
< Nom du paramètre="@TELEPHONE" Value='< %# IIf((Request.Form("telephone") < > Nothing), Request.Form("telephone"), "") % >' Type="WChar" />
< /Paramètres >
< /MM:Insérer>
MM : Insérer est l'étiquette utilisée par Dreamweaver pour ajouter la base de données et Paramètre est la valeur utilisée pour spécifier le paramètre.
Le code précédent est utilisé pour spécifier le lien de la base de données et la page vers laquelle accéder une fois l'ajout réussi. Si l'ajout échoue, un message d'erreur s'affichera, ainsi que la table associée.
Ceux-ci sont développés par MacroMedia lui-même et nécessitent la prise en charge de certains composants de Macromedia. Ils sont différents du format de code standard de nombreux ASP.net sur Internet aujourd'hui. Veuillez ne pas vous méprendre sur le format de code standard d'ASP.net basé sur ce code lorsque vous faites référence au code. Vous pouvez vous référer à www.gotdotnet.com pour le format de code standard. Si vous souhaitez écrire du code standard, vous pouvez utiliser WebMatrix, adresse de téléchargement : http://www.asp.net/webmatrix/download.aspx?tabindex=4