begin process at 2008 07 20 13:30:33
1 213 234 membres
151 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème avec RequiredFieldValidator [ Base de données / MySQL ] (richardjul)

Problème avec RequiredFieldValidator le 13/08/2007 15:14:17

richardjul
Bonjour,
j'ai un problème avec mon RequiredFieldValidator, je suis un peu novice en VB.Net mais j'essaie tant bien que mal!
Mon soucis est le suivant, dans mon gridview (ou je gère la création de rubriques et de sous-rubriques pour mon site) j'ai placé un footer ou l'admin en cours peut ajouter une nouvelle rub, et j'aimerais juste faire un test de validation si le champ est vide. Le soucis et qu'il fait ce test sur chacun des liens généré dans mon gridview alors qu'il ne devrait le faire qu'au moment ou l'on clic sur "ajouter",
quelqu'un aurait la solution, voivi mon code :

<%

@PageLanguage="VB"AutoEventWireup="false"CodeFile="GestionRubrique.aspx.vb"Inherits="IHM_Default" %>

<%

@RegisterSrc="MenuAdmin.ascx"TagName="MenuAdmin"TagPrefix="uc1" %>

<%

@RegisterSrc="bandeau.ascx"TagName="bandeau"TagPrefix="uc2" %>

 

<!

DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<

htmlxmlns="http://www.w3.org/1999/xhtml">

<

headid="Head1"runat="server">

<title>Gestion des rubriques</title>

<scriptsrc="popups.js"type="text/javascript"></script>

<linkhref="../../CSS/Styles.css"rel="stylesheet"type="text/css"/>

</

head>

<

body>

<

tableid="centpourcent"><tr><tdalign="center">

<

tablecellpadding="0"cellspacing="0"id="tb_identification"><tr><td>

<uc2:bandeauID="Bandeau2"runat="server"/>

</td></tr>

<tr><tdbgcolor="#FFFFFF"style="height: 200px">

<formid="form1"runat="server">

<div>

<uc1:MenuAdminID="MenuAdmin1"runat="server"Visible="true"/>

<tableclass="nomrub"><tr><tdwidth="35px"><imgalign="middle"src="Images/little_ico_rubrik.png"/></td><td><asp:labelid="lbl_rubrique"runat="server">ADMINISTRER LES RUBRIQUES</asp:label></td></tr></table>

<asp:GridViewID="gdv_rubrique"CssClass="TblListe"runat="server"AllowPaging="True"AutoGenerateColumns="False"ShowFooter="True"

DataKeyNames="cru_id"DataSourceID="SqlDataSource1"EmptyDataText="Aucune rubrique">

<RowStyleCssClass="LigneStandard"/>

<SelectedRowStyleCssClass="LigneSelectionnee"/>

<AlternatingRowStyleCssClass="LigneAlternee"/>

<Columns>

<asp:TemplateFieldHeaderText="Rubrique"SortExpression="rub_id">

<HeaderStyleCssClass="Entete"/>

<EditItemTemplate>

<!--<asp:DropDownList id="dllEditRubId" runat="server" AppendDataBoundItems="true"></asp:DropDownList>-->

<asp:LabelID="lblEditRubId"runat="server"Text='<%# Bind("rub_id") %>'></asp:Label>

</EditItemTemplate>

<ItemTemplate>

<asp:LabelID="lblRubId"runat="server"Text='<%# Bind("rub_id") %>'></asp:Label>

</ItemTemplate>

<FooterTemplate>

<asp:LabelCssClass="footer"ID="lblNewRubId"runat="server"Text='<%# Bind("rub_id") %>'></asp:Label>

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateFieldHeaderText="Identifiant"SortExpression="cru_id"Visible="False">

<HeaderStyleCssClass="Entete"/>

<EditItemTemplate>

<asp:LabelID="lblEditCruId"runat="server"Text='<%# Eval("cru_id") %>'></asp:Label>

</EditItemTemplate>

<ItemTemplate>

<asp:LabelID="lblCruId"runat="server"Text='<%# Bind("cru_id") %>'></asp:Label>

</ItemTemplate>

<FooterTemplate>

<asp:LabelCssClass="footer"ID="lblNewCruId"runat="server"Text='<%# Bind("cru_id") %>'></asp:Label>

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateFieldHeaderText="Libell&#233;"SortExpression="cru_nom">

<HeaderStyleCssClass="Entete"/>

<EditItemTemplate>

<asp:TextBoxID="txtEditCruNom"runat="server"Text='<%# Bind("cru_nom") %>'></asp:TextBox>

</EditItemTemplate>

<ItemTemplate>

<asp:LinkButtonID="lklCruNom"runat="server"Text='<%# Bind("cru_nom") %>'CommandName="SousRubrique"CommandArgument='<%# Eval("rub_id") %>'></asp:LinkButton>

</ItemTemplate>

<FooterTemplate>

<asp:TextBoxCssClass="footer"ID="txtNewCruNom"runat="server"Text='<%# Bind("cru_nom") %>'></asp:TextBox>

<asp:RequiredFieldValidatorID="rfv_NewCruNom"runat="server"ErrorMessage="Libell, obligatoire"ControlToValidate="txtNewCruNom"></asp:RequiredFieldValidator>

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateFieldHeaderText="Chemin image"SortExpression="cru_img">

<HeaderStyleCssClass="Entete"/>

<EditItemTemplate>

<asp:TextBoxID="txtEditCruImg"runat="server"Text='<%# Bind("cru_img") %>'></asp:TextBox>

</EditItemTemplate>

<ItemTemplate>

<asp:LabelID="lblCruImg"runat="server"Text='<%# Bind("cru_img") %>'></asp:Label>

</ItemTemplate>

<FooterTemplate>

<asp:TextBoxCssClass="footer"ID="txtNewCruImg"runat="server"Text='<%# Bind("cru_img") %>'></asp:TextBox>

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateFieldHeaderText="Nombre de sous rubrique"SortExpression="nbEnfants"Visible="False">

<HeaderStyleCssClass="Entete"/>

<ItemTemplate>

<asp:LabelID="nbEnfants"runat="server"></asp:Label>

</ItemTemplate>

</asp:TemplateField>

<asp:TemplateFieldShowHeader="False">

<HeaderStyleCssClass="Entete"/>

<EditItemTemplate>

<asp:ImageButtonID="lkl_update"runat="server"ImageUrl="Images/b_modif.png"CausesValidation="True"CommandName="Update"AlternateText='<%# UpdateLang("lkl_update") %>'/>

&nbsp;<asp:ImageButtonID="lkl_cancel"runat="server"ImageUrl="Images/b_annuler.png"CausesValidation="False"CommandName="Cancel"AlternateText='<%# UpdateLang("lkl_cancel") %>'/>

</EditItemTemplate>

<ItemTemplate>

<asp:ImageButtonID="lkl_edit"runat="server"ImageUrl="Images/b_modif.png"CausesValidation="False"CommandName="Edit"AlternateText='<%# UpdateLang("lkl_edit") %>'/>

&nbsp;<asp:ImageButtonOnClientClick="return confirm('Etes-vous s-r de vouloir supprimer cette rubrique et tout son contenu?');"ID="lkl_delete"runat="server"ImageUrl="Images/b_supp.png"CausesValidation="False"CommandName="Delete"AlternateText='<%# UpdateLang("lkl_delete") %>'/>

</ItemTemplate>

<FooterTemplate>

<asp:LinkButtonCssClass="footer"id="lkl_insert"runat="server"Text='<%# UpdateLang("lkl_insert") %>'CommandName="Insert"></asp:LinkButton>

</FooterTemplate>

</asp:TemplateField>

</Columns>

<EmptyDataTemplate>

<table>

<tr>

<td><asp:LabelID="lblNewCruNom"runat="server"Text='<%# UpdateLang("Libelle") %>'></asp:Label></td>

<td><asp:LabelID="lblNewCruImg"runat="server"Text='<%# UpdateLang("CheminImage") %>'></asp:Label></td>

</tr>

<tr>

<td><asp:TextBoxID="txtNewCruNom"runat="server"Text='<%# Bind("cru_nom") %>'></asp:TextBox></td>

<td><asp:TextBoxID="txtNewCruImg"runat="server"Text='<%# Bind("cru_img") %>'></asp:TextBox></td>

<td><asp:LinkButtonid="lkl_insertNew"runat="server"Text='<%# UpdateLang("lkl_insert") %>'CommandName="InsertNew"></asp:LinkButton></td>

</tr>

</table>

</EmptyDataTemplate>

</asp:GridView>

<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:axorys_ConnectionString %>"

DeleteCommand="RubriqueContenu_Delete"DeleteCommandType="StoredProcedure"

InsertCommand="RubriqueContenu_AddNew"InsertCommandType="StoredProcedure"

SelectCommand="RubriqueContenu_GetParentByLangueUtilisateur"SelectCommandType="StoredProcedure"

UpdateCommand="RubriqueContenu_Update"UpdateCommandType="StoredProcedure">

<SelectParameters>

<asp:SessionParameterName="cru_langue"SessionField="cru_langue"/>

<asp:SessionParameterName="uti_id"SessionField="uti_id"/>

</SelectParameters>

<DeleteParameters>

<asp:ParameterName="cru_id"Type="Int32"/>

</DeleteParameters>

<UpdateParameters>

<asp:ParameterName="cru_id"Type="Int32"/>

<asp:SessionParameterName="cru_langue"SessionField="cru_langue"/>

<asp:ParameterName="cru_nom"Type="String"/>

<asp:ParameterName="cru_img"Type="String"/>

<asp:ParameterName="rub_id"Type="Int32"/>

</UpdateParameters>

<InsertParameters>

<asp:SessionParameterName="cru_langue"SessionField="cru_langue"/>

<asp:ParameterName="cru_nom"Type="String"/>

<asp:ParameterName="cru_img"Type="String"/>

<asp:ParameterName="rub_id"Type="Int32"/>

</InsertParameters>

</asp:SqlDataSource>

<asp:LabelID="Label1"runat="server"Visible="False"></asp:Label>

</div>

<br/>

</form>

</td></tr></table>

</td></tr></table>

</

body>

</

html>





et le code behind:

Imports

BusinessLogicLayer

Imports

System.Data

Partial

Class IHM_Default

Inherits System.Web.UI.Page

Dim local As Localization = New Localization()

ProtectedSub gdv_rubrique_RowCommand(ByVal sender AsObject, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gdv_rubrique.RowCommand

'Test si c'est l'admin_global (c'est le seul qui peut effectuer des op,rations sur les rubriques de niveau 1)

If Session("uti_id") = 1 Or Session("uti_id") = 8 Then

'******************

'** POUR L'AJOUT **

'******************

If e.CommandName = "Insert"Then

'(JavaScript) V,rifier si les champs obligatoires ont ,t, renseign,s

'R,cup,ration des champs saisis

Dim cru_nom As TextBox = gdv_rubrique.FooterRow.FindControl("txtNewCruNom")

Dim cru_img As TextBox = gdv_rubrique.FooterRow.FindControl("txtNewCruImg")

RubriqueContenu.RubriqueContenu_AddNew(Session(

"cru_langue"), cru_nom.Text, cru_img.Text, Session("rub_id"))

RubriqueUtilisateur.RubriqueUtilisateur_AddNew(Session(

"rub_id"), Session("uti_id"))

'Actualisation du GridView

gdv_rubrique.DataBind()

EndIf

'**********************************************

'** POUR UN NOUVEL AJOUT (EmptyDataTemplate) **

'**********************************************

If e.CommandName = "InsertNew"Then

'R,cup,ration des champs saisis

Dim cru_nom AsString = CType(gdv_rubrique.Controls(0).Controls(0).FindControl("txtNewCruNom"), TextBox).Text

Dim cru_img AsString = CType(gdv_rubrique.Controls(0).Controls(0).FindControl("txtNewCruImg"), TextBox).Text

RubriqueContenu.RubriqueContenu_AddNew(Session(

"cru_langue"), cru_nom, cru_img, Session("rub_id"))

'RubriqueUtilisateur.RubriqueUtilisateur_AddNew(Session("rub_id"), Session("uti_id"))

Response.Redirect(

"GestionRubrique.aspx")

EndIf

If e.CommandName = "Delete"Then

EndIf

If e.CommandName = "Edit"Then

EndIf

Else

gdv_rubrique.ShowFooter =

"False"

'Affichage du message d'erreur dans le Label1

Label1.ForeColor = System.Drawing.Color.Red

Label1.Text =

"Contactez l'administrateur global"

Label1.Visible =

True

EndIf

'*****************************

'** POUR LES SOUS RUBRIQUES **

'*****************************

If e.CommandName = "SousRubrique"Then

Session(

"rub_id_parent") = Convert.ToInt32(e.CommandArgument)

Response.Redirect(

"GestionSousRubrique.aspx")

EndIf

EndSub

ProtectedSub gdv_rubrique_RowDataBound(ByVal sender AsObject, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gdv_rubrique.RowDataBound

'Traduction des ent^tes de colonnes du GridView

If e.Row.RowType = DataControlRowType.Header Then

e.Row.Cells.Item(0).Text = UpdateLang(

"Heading")

e.Row.Cells.Item(1).Text = UpdateLang(

"Identifier")

e.Row.Cells.Item(2).Text = UpdateLang(

"Name")

e.Row.Cells.Item(3).Text = UpdateLang(

"CheminImage")

EndIf

EndSub

'Fonction pour traduire le texte des liens du GridView

PublicFunction UpdateLang(ByVal sValue) AsString

Return local.GetString(sValue)

EndFunction

ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load

Label1.Visible =

"false"

gdv_rubrique.ShowFooter =

"True"

'Initialisation des variables de session pour le fil d'ariane

Session(

"rub1") = ""

Session(

"rub2") = ""

'Chargement du fichier de langue

Me.local.LoadResource(Session("cru_langue"))

'Pour la traduction

lbl_rubrique.Text = local.GetString(

"lbl_rubrique")

'R,cup,ration du dernier rub_id pour la langue s,l,ctionn,e

Dim LastRubId AsInteger = RubriqueContenu.RubriqueContenu_GetLastRubIdByLangue(Session("cru_langue"))

Dim rub_id AsInteger = LastRubId + 1

'Test si rub_id existe d,j.

If Rubrique.Rubrique_ExistRubId(rub_id) = 0 Then

Rubrique.Rubrique_AddNew(rub_id)

EndIf

Session(

"rub_id") = rub_id

'Dim myGridViewRow As GridViewRow

'For Each myGridViewRow In gdv_rubrique.Rows

' 'R,cup,ration du num,ro de la rubrique

' Dim rubId As String = CType(myGridViewRow.FindControl("rub_id"), Label).Text

' 'Appel de la requ^te pour avoir le nombre de sous rubrique

' Dim nbSousRubrique As String = CType(RubriqueContenu.RubriqueContenu_GetNbEnfantByLangue(Session("cru_langue"), rubId), String)

' Dim nbEnfants As Label = myGridViewRow.FindControl("NbEnfants")

' nbEnfants.Text = nbSousRubrique

'Next

'Dim dtRubriqueContenu As DataTable = RubriqueContenu.RubriqueContenu_GetParentByLangueUtilisateur(Session("cru_langue"), Session("uti_id"))

'For Each drRubriqueContenu As DataRow In dtRubriqueContenu.Rows

' recupDonnee(drRubriqueContenu)

'Next

EndSub

'Public Sub recupDonnee(ByVal drRubriqueContenu As DataRow)

' Dim myGridViewRow As GridViewRow

' For Each myGridViewRow In gdv_rubrique.Rows

' 'R,cup,ration du num,ro de la rubrique

' Dim rub_id As String = CType(myGridViewRow.FindControl("rub_id"), Label).Text

' 'Appel de la requ^te pour avoir le nombre de sous rubrique

' Dim nbSousRubrique As String = CType(RubriqueContenu.RubriqueContenu_GetNbEnfantByLangue(Session("cru_langue"), rub_id), String)

' Dim nbEnfants As Label = myGridViewRow.FindControl("NbEnfants")

' nbEnfants.Text = nbSousRubrique

' Next

'End Sub

End

ClassMerci beaucoup pour vos remarques et vos réponses,
@ bientôt

Julien RICHARD
Adjoint Multimedia
Groupe AXORYS

Re : Problème avec RequiredFieldValidator le 13/08/2007 15:58:39

jesusonline
Membre Club
(Admin CS)
Réponse acceptée !
bonjour,

utilise la propriété validationgroup de ton button, de ton validateur  et de ton textbox. Il faut qu'ils ait la meme value.


Cyril - MSP - MCPD ASP.net & MCTS SQL

Re : Problème avec RequiredFieldValidator le 14/08/2007 10:03:14

richardjul
C'est bien ça thanks a lot jesusonline! je vais integrer ça sur tous mes controles,
 merci encore pour ta rapidité de réponse ça fait super plaisir...
@++


Julien RICHARD
Adjoint Multimedia
Groupe AXORYS


Classé sous : asp, text, server, runat, id

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS