Un ControlToValidate (composant .net) qui pointe vers une fonction

Un ControlToValidate (composant .net) qui pointe vers une fonction - C#/.NET managed - Programmation

Marsh Posté le 20-02-2007 à 12:01:30    

Bonjour,
 
J'ai un formulaire avec un champ "login". J'utilise un composant de visual studio qui vérifie si l'utilisateur a bien renseigné le champ. Mais j'aimerais rajouter un de ces contrôles qui pointes vers une de mes fonctions codés en C# qui vérifie si ce login est déjà utilisé ou pas.
 
Voici le code de mon formulaire :
 

Code :
  1. <%@ Page Language="C#" MasterPageFile="~/MasterPage_admin.master" AutoEventWireup="true" CodeFile="ajoutsalarie.aspx.cs" Inherits="ajoutsalarie" Title="Untitled Page" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  3.     <div id="AjoutSalarie">
  4.         <img src="images/ajout-salarie.png" />
  5.     <asp:FormView ID="FormView1" runat="server" DataKeyNames="idsalarie" DataSourceID="dsSalarie" DefaultMode="Insert" OnItemInserted="ValiderInsertion" >
  6.         <InsertItemTemplate>
  7.     <table width="920" border="0" cellspacing="2">
  8.  
  9.   <tr>
  10.       <td width="182" align="left">
  11.           Nom :
  12.           &nbsp;*</td>
  13.       <td width="474" align="left">
  14.         <asp:TextBox id="zeNom" runat="server" Text='<%# Bind("nom" ) %>'></asp:TextBox><asp:RequiredFieldValidator
  15.         ID="RequiredFieldValidatorNom" runat="server" ErrorMessage="Veuillez saisir un nom" ControlToValidate="zeNom"></asp:RequiredFieldValidator>
  16.        
  17.        </td>
  18.     </tr>
  19.     <tr>
  20.       <td width="182" style="height: 26px" align="left"> Prénom : *&nbsp;</td>
  21.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zePrenom" runat="server"  Text='<%# Bind("prenom" ) %>' ></asp:TextBox><asp:RequiredFieldValidator
  22.         ID="RequiredFieldValidatorPrenom" runat="server" ErrorMessage="Veuillez saisir un prénom" ControlToValidate="zePrenom"></asp:RequiredFieldValidator>
  23.         </td>
  24.     </tr>
  25.    
  26.    <tr>
  27.       <td width="182" style="height: 26px" align="left"> Adresse : *&nbsp;</td>
  28.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeAdresse" runat="server" Text='<%# Bind("adresse1" ) %>' ></asp:TextBox>
  29.         <asp:RequiredFieldValidator
  30.         ID="RequiredFieldValidatorAdresse" runat="server" ErrorMessage="Veuillez saisir une adresse" ControlToValidate="zeAdresse"></asp:RequiredFieldValidator></td>
  31.     </tr>
  32.         <tr>
  33.             <td align="left" style="height: 26px" width="182">
  34.                 Adresse suite :</td>
  35.             <td align="left" style="height: 26px" width="474">
  36.                 <asp:TextBox ID="zeAdresse2" runat="server" Text='<%# Bind("adresse2" ) %>'></asp:TextBox></td>
  37.         </tr>
  38.     <tr>
  39.       <td width="182" style="height: 26px" align="left"> Code postal : *&nbsp;</td>
  40.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeCodePost" runat="server" Text='<%# Bind("codepost" ) %>' > </asp:TextBox>
  41.        <asp:RegularExpressionValidator
  42.         ID="RegularExpressionValidator1" runat="server" ControlToValidate="zeCodePost" ErrorMessage="Veuillez saisir un code postal valide"
  43.         ValidationExpression="\d{5}"></asp:RegularExpressionValidator><asp:RequiredFieldValidator
  44.         ID="RequiredFieldValidator5" runat="server" ErrorMessage="Veuillez saisir un code postal" ControlToValidate="zeCodePost"></asp:RequiredFieldValidator></td>
  45.     </tr>
  46.     <tr>
  47.       <td width="182" style="height: 26px" align="left"> Ville : *&nbsp;</td>
  48.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeVille" runat="server" Text='<%# Bind("ville" ) %>' ></asp:TextBox>
  49.         <asp:RequiredFieldValidator
  50.         ID="RequiredFieldValidatorVille" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="zeVille"></asp:RequiredFieldValidator></td>
  51.     </tr>
  52.     <tr>
  53.       <td width="182" style="height: 26px" align="left"> Téléphone fixe : *&nbsp;</td>
  54.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeTelFixe" runat="server" Text='<%# Bind("telfixe" ) %>' ></asp:TextBox>
  55.        <asp:RequiredFieldValidator
  56.         ID="RequiredFieldValidator3" runat="server" ErrorMessage="Veuillez saisir un numéro de téléphone fixe" ControlToValidate="zeTelFixe"></asp:RequiredFieldValidator>
  57.        <asp:RegularExpressionValidator
  58.         ID="RegularExpressionValidator2" runat="server" ControlToValidate="zeTelFixe" ErrorMessage="Le numéro de téléphone est invalide"
  59.         ValidationExpression="(0( \d|\d ))?\d\d \d\d(\d \d| \d\d )\d\d"></asp:RegularExpressionValidator></td>
  60.     </tr>
  61.     <tr>
  62.       <td width="182" style="height: 26px" align="left"> Téléphone Portable : *&nbsp;</td>
  63.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeTelPort" runat="server" Text='<%# Bind("telport" ) %>'></asp:TextBox>
  64.         </td>
  65.     </tr>
  66.     <tr>
  67.       <td width="182" style="height: 26px" align="left">Téléphone Prof. : *&nbsp;</td>
  68.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeTelProf" runat="server" Text='<%# Bind("telpro" ) %>' ></asp:TextBox>
  69.         </td>
  70.     </tr>
  71.     <tr>
  72.       <td width="182" style="height: 26px" align="left"> Mail : *&nbsp;</td>
  73.       <td width="474" style="height: 26px" align="left"><asp:TextBox id="zeMail" runat="server" Text='<%# Bind("mail" ) %>' ></asp:TextBox>
  74.         <asp:Label id="zaErrMail" runat="server" text=""></asp:Label><asp:RequiredFieldValidator
  75.         ID="RequiredFieldValidator4" runat="server" ErrorMessage="Une adresse email est requise" ControlToValidate="zeMail"></asp:RequiredFieldValidator><asp:RegularExpressionValidator
  76.         ID="RegularExpressionValidator3" runat="server" ControlToValidate="zeMail" ErrorMessage="Le format de l'adresse email est invalide"
  77.         ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator></td>
  78.     </tr>
  79.      <tr>
  80.       <td width="182" style="height: 26px" align="left"> login : *</td>
  81.          <td width="474" style="height: 26px" align="left">
  82.              <asp:TextBox ID="zeLogin" runat="server" Text='<%# Bind("login" ) %>'></asp:TextBox>
  83.              <asp:Label ID="zaErrLogin" runat="server" Text=""></asp:Label><asp:RequiredFieldValidator
  84.         ID="RequiredFieldValidator1" runat="server" ErrorMessage="Un login est requis" ControlToValidate="zeLogin"></asp:RequiredFieldValidator>
  85.              <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="zeLogin_TextChanged1"
  86.                  ControlToValidate="zeLogin" ErrorMessage="Login existant" SetFocusOnError="True"></asp:CustomValidator></td>
  87.          
  88.     </tr>
  89.         <tr>
  90.             <td align="left" style="height: 26px" width="182">
  91.                 password&nbsp; : *</td>
  92.             <td align="left" style="height: 26px" width="474">
  93.                 <asp:TextBox ID="zePassword" runat="server" Text='<%# Bind("password" ) %>'></asp:TextBox>
  94.                 <asp:Label ID="zaErrPassword" runat="server" Text=""></asp:Label><asp:RequiredFieldValidator
  95.         ID="RequiredFieldValidator2" runat="server" ErrorMessage="Un mot de passe est requis" ControlToValidate="zePassword"></asp:RequiredFieldValidator></td>
  96.         </tr>
  97.       <tr>
  98.       <td width="182" style="height: 26px" align="left">Accès Administration Intranet</td>
  99.       <td width="474" style="height: 26px" align="left">
  100.           &nbsp;
  101.           <asp:DropDownList ID="profil" runat="server" DataSourceID="dsProfil"
  102.               DataTextField="libel_profil" DataValueField="idprofil" SelectedValue='<%# Bind("idprofil" ) %>'>
  103.           </asp:DropDownList><asp:SqlDataSource ID="dsProfil" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString31 %>"
  104.               SelectCommand="SELECT [idprofil],[libel_profil] FROM [profil]"></asp:SqlDataSource>
  105.       </td>
  106.          
  107.     </tr>
  108.         <tr>
  109.             <td align="left" style="height: 26px" width="182">
  110.                 Rôle au sein de la societé :</td>
  111.             <td align="left" style="height: 26px" width="474">
  112.                 <asp:DropDownList ID="role" runat="server" DataSourceID="dsRole"
  113.                     DataTextField="libel_role" DataValueField="idrole" SelectedValue='<%# Bind("idrole" ) %>'>
  114.                 </asp:DropDownList><asp:SqlDataSource ID="dsRole" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString31 %>"
  115.                     SelectCommand="SELECT [idrole], [libel_role] FROM [role]"></asp:SqlDataSource>
  116.             </td>
  117.         </tr>
  118.    <tr>
  119.    <tr >
  120.                 <td colspan="4" style="height: 20px" >
  121.                     <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Valider la saisie">
  122.                     </asp:LinkButton>&nbsp;|&nbsp;
  123.                     <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
  124.                     Text="Annuler"></asp:LinkButton>&nbsp;|&nbsp;
  125.                     <asp:LinkButton ID="RetourList" runat="server" CausesValidation="False" PostBackUrl="~/GestionSalaries.aspx"
  126.                     Text="Retour à la liste des Salariés"></asp:LinkButton>
  127.                     </td>
  128.                 </tr>
  129.        
  130.        
  131.        
  132.        
  133.        
  134.        
  135.        
  136.             </table>
  137.              
  138.         </InsertItemTemplate>
  139.     </asp:FormView>
  140.       <span class="avertissement">  Info : les champs marqués d'une * sont obligatoires &nbsp;&nbsp;<asp:SqlDataSource ID="dsSalarie" runat="server"  ConnectionString="<%$ ConnectionStrings:ConnectionString31 %>" InsertCommand="InsererSalarie" InsertCommandType="StoredProcedure" SelectCommand="Select * from [salarie]">
  141.         <InsertParameters>
  142.          
  143.             <asp:Parameter Name="nom" Type="String" />
  144.             <asp:Parameter Name="prenom" Type="String" />
  145.             <asp:Parameter Name="adresse1" Type="String" />
  146.             <asp:Parameter Name="adresse2" Type="String" />
  147.             <asp:Parameter Name="codepost" Type="String" />
  148.             <asp:Parameter Name="ville" Type="String" />
  149.             <asp:Parameter Name="telfixe" Type="String" />
  150.             <asp:Parameter Name="telport" Type="String" />
  151.             <asp:Parameter Name="telpro" Type="String" />
  152.             <asp:Parameter Name="mail" Type="String" />
  153.             <asp:Parameter Name="login" Type="String" />
  154.             <asp:Parameter Name="password" Type="String" />
  155.             <asp:Parameter Name="idprofil" Type="Int32" />
  156.             <asp:Parameter Name="idrole" Type="Int32" />
  157.         </InsertParameters>
  158.     </asp:SqlDataSource>
  159.     </span><br />
  160.     </div>
  161.    
  162. </asp:Content>


 
et celui de la fonction de vérification :
 

Code :
  1. protected void zeLogin_TextChanged1(object sender, EventArgs e)
  2.     {
  3.         string txt = FormView1.FindControl("zeLogin" ).ToString();
  4.         FormView1.FindControl("zePassword" ).Visible = false;
  5.         if (txt == "bonjour" ) {
  6.            
  7.             FormView1.FindControl("zePassword" ).Visible = true;
  8.            
  9.            
  10.         }
  11.     }


 
J'avais essayé avec OnItemInserted comme propriété de la TextBox zeLogin mais ça ne fonctionnait pas non plus.
J'ai donc crée un customValidator et dans les propriétés j'ai indiqué le nom de ma fonction... mais que doit-elle renvoyer? En fait, le CustomValdator ne va même pas dans la fonction  [:whyme]  
 
Merci pour votre aide... [:whyme]  
 

Reply

Marsh Posté le 20-02-2007 à 12:01:30   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed