login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[ASP.net] Validators

Offline MaZZie - 30/09/2006 16:05
Avatar van MaZZiePHP interesse Als ik gebruik maak van meerdere validators op 1 form dan geeft die als output steeds maar 1 fout aan. Als je die verbeterd hebt dan Geeft die pas de volgende fout aan.

Ik Heb begrepen dat in ASP.net 1.1 dit niet het geval is. Echter kon je hierdoor niet 2 forms plaatsen op 1 pagina.
Hoe moet ik dit oplossen in ASP.net 2.0?

7 antwoorden

Gesponsorde links
Offline zamna - 30/09/2006 16:07
Avatar van zamna HTML beginner 2 ASP.net forms op één formulier werkt zowieso niet. De rest snap ik niet zo goed van je uitleg kan je eventueel wat code tonen?
Offline MaZZie - 30/09/2006 16:12 (laatste wijziging 30/09/2006 16:13)
Avatar van MaZZie PHP interesse Ik heb helaas nog geen Webserver voor ASP.net maar het komt er op neer dat je bv. 2x een Textfield hebt. en een Submit button. Op bijde textfields staat een validator die verteld dat de velden niet leeg mogen zijn.

Als ik nu met 2 lege velden op submit druk dan komt er bij de onderste Textfield een fout te staan (in mijn geval *) en bij de bovenste niet.

Deze komt pas nadat ik bij het 2e Textfield wat heb ingevuld en vervolgens weer op submit druk.

De bedoeling is dat als ik op submit druk en geen van de velden is ingevuld dat die dan bij elk leeg veld (dat ik controleer) een * geeft


2 Forms kan trouwens wel. Of het nut heeft weet ik niet maar hiervoor hebben ze dit wel geweizigd  
Offline zamna - 30/09/2006 16:20 (laatste wijziging 30/09/2006 16:20)
Avatar van zamna HTML beginner ah ok ...
Ik kan niet direct zeggen waarom dat zo is maar ik kan anders een stukje werkende code van mij geven. Dit kan je mssn vergelijken met jou code.

  1. titel: <asp:TextBox ID="txtTitel" runat="server" Width="400"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidatorTitel" runat="server" ErrorMessage="Vul een titel in" ControlToValidate="txtTitel"></asp:RequiredFieldValidator>
  2. bericht:
  3. <asp:TextBox ID="txtBericht" runat="server" Rows="4" Width="400" TextMode="MultiLine"></asp:TextBox>
  4. <asp:RequiredFieldValidator ID="RequiredFieldValidatorBericht" runat="server" ControlToValidate="txtBericht" ErrorMessage="Vul een bericht in"></asp:RequiredFieldValidator>

Btw:
controleer ook eens of de ENABLECLIENTSCRIPT-property van je validatiecontrols op true staat. Dan wordt een veld zelfs gevalideert voordat er op de submitknop gedrukt is.
Offline MaZZie - 30/09/2006 16:39 (laatste wijziging 30/09/2006 23:40)
Avatar van MaZZie PHP interesse Als ik jou code erbij zet werkt het wel, maar ik zie geen verscheel.

  1. <asp:TextBox ID="nameTextBox" runat="server" Style="z-index: 103; left: 165px; position: absolute; top: 120px"></asp:TextBox>
  2. <asp:RequiredFieldValidator ID="nameRequiredField" runat="server" ControlToValidate="nameTextBox"
  3. ErrorMessage="Name is required" Style="z-index: 112; left: 343px; position: absolute;
  4. top: 122px">*</asp:RequiredFieldValidator>
  5. <asp:DropDownList ID="statusDropDown" runat="server" Style="z-index: 104; left: 165px;
  6. position: absolute; top: 152px" AutoPostBack="True" OnSelectedIndexChanged="statusDropDown_SelectedIndexChanged">
  7. <asp:ListItem Selected="True">Select One ...</asp:ListItem>
  8. <asp:ListItem>Not Started</asp:ListItem>
  9. <asp:ListItem>in Progress</asp:ListItem>
  10. <asp:ListItem>Complete</asp:ListItem>
  11. </asp:DropDownList>
  12. <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="statusDropDown"
  13. ErrorMessage="Status is required" Operator="NotEqual" Style="z-index: 113; left: 343px;
  14. position: absolute; top: 154px" ValueToCompare="Select One ...">*</asp:CompareValidator>


Kan het er mee te maken hebben dat de een een tekstveld is en de andere een drop down?
Offline Abbas - 01/10/2006 00:38
Avatar van Abbas Gouden medaille

Crew .NET
Ik heb het kunnen oplossen, maar heb het een beetje anders gedaan...
Je hebt je invoervak, je dropdownlist en een button
AutoPostBack staat op true dus laad hij elke keer de pagina opnieuw bij een andere keuze, dus kan je je functie in de page_load schrijven ipv 'onselectedindexchanged'...

Code:
  1. <? (kleur)
  2.  
  3. <%@ Page Language="VB" Debug="true" %>
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6.  
  7. <script runat="server">
  8.  
  9. Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  10.  
  11. Dim keuze As String
  12. keuze = statusDropDown.SelectedItem.ToString
  13. If (keuze = "Select One ...") Then
  14. keuze = ""
  15. End If
  16. Response.Write(keuze)
  17.  
  18. End Sub
  19.  
  20.  
  21. </script>
  22.  
  23. <html xmlns="http://www.w3.org/1999/xhtml" >
  24. <head id="Head1" runat="server">
  25. <title>Untitled Page</title>
  26. </head>
  27. <body>
  28. <form id="form1" runat="server">
  29. <div>
  30. <asp:TextBox ID="nameTextBox" runat="server" ></asp:TextBox>
  31. <asp:RequiredFieldValidator ID="nameRequiredField" runat="server" ControlToValidate="nameTextBox"
  32. ErrorMessage="Name is required">*</asp:RequiredFieldValidator><br />
  33. <asp:DropDownList ID="statusDropDown" runat="server" AutoPostBack="True" >
  34. <asp:ListItem Selected="True">Select One ...</asp:ListItem>
  35. <asp:ListItem>Not Started</asp:ListItem>
  36. <asp:ListItem>in Progress</asp:ListItem>
  37. <asp:ListItem>Complete</asp:ListItem>
  38. </asp:DropDownList>
  39. <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="statusDropDown"
  40. ErrorMessage="Status is required" Operator="NotEqual" ValueToCompare="Select One ...">*</asp:CompareValidator><br /><br />
  41.  
  42. <asp:Button ID="knop" runat="server" Text="Controleer" /></div>
  43. </form>
  44. </body>
  45. </html>


Als je nu op de knop klikt, worden allebei gecontroleerd en indien er in het tekstvak niets staat en er geen keuze is gemaakt in de dropdownlist zal er naast elk een sterretje verschijnen...

Het verschil met jouw script is dat ik de functie in de Page_Load van de pagina zet en geen aparte functie ga aanroepen vanuit de dropdownlist...

Hopelijk is het duidelijk en heb ik je kunnen helpen!
Laat maar iets weten  
Offline MaZZie - 01/10/2006 01:48
Avatar van MaZZie PHP interesse Ah.. is dat het 

Bedankt!
Offline Abbas - 01/10/2006 11:07
Avatar van Abbas Gouden medaille

Crew .NET
Graag gedaan,
Als er nog iets is dat niet werkt laat je het maar weten  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.33s