Avatar billede c-sharp Nybegynder
28. februar 2008 - 07:52 Der er 12 kommentarer og
1 løsning

Mystisk problem med RequiredFieldValidator

Når jeg i neden stående kode trykker på knappen unden at indtaset noget i tekstboksen får jeg en fejl som jeg skal, indtaster jeg så noget efterfølgende og trykker på knappen, forsvinder teksten fra min RequiredFieldValidator men headerteksten fra ValidationSummary forsvinder ikke og siden submittes heller ikke, det gør den først hvis jeg trykker endnu engang på knappen. Sætter jeg så en error message på RequiredFieldValidator virker det som det skal, men den error message ønsker jeg ikke at vise, og det skulle heller ikke være nødvendigt.

Kode:
  <asp:ValidationSummary ID="test_" HeaderText="TEST" runat="server" />  <br />
             
              <asp:TextBox ID="test" runat="server" />
              <asp:RequiredFieldValidator
                    ControlToValidate="test"
                    ID="hhh"
                    runat="server">*
              </asp:RequiredFieldValidator><br />
             
              <asp:Button ID="knap" runat="server" />
Avatar billede mikalj Nybegynder
28. februar 2008 - 08:58 #1
Lyder sært. Men du kan sætte en errormessage uden at den vises, du skal bare også sætte Display="none"
Avatar billede karsten_larsen Praktikant
28. februar 2008 - 09:07 #2
følgende virker:

    <asp:ValidationSummary ID="test_" HeaderText="TEST" runat="server" ValidationGroup="Gruppe" />  <br />
             
              <asp:TextBox ID="test" runat="server" ValidationGroup="Gruppe" />
              <asp:RequiredFieldValidator
                    ControlToValidate="test"
                    ID="hhh"
                    runat="server" Display="Dynamic" ValidationGroup="Gruppe">*
              </asp:RequiredFieldValidator><br />
             
              <asp:Button ID="knap" runat="server" ValidationGroup="Gruppe" />
Avatar billede c-sharp Nybegynder
28. februar 2008 - 09:27 #3
hmmm, mystik.
Det der gør forskellen er display="dynamic" men det giver ikke helt mening i min verden.
Kan i se min problemstilling hvis i afvikler det kode jeg har posted?
Avatar billede karsten_larsen Praktikant
28. februar 2008 - 10:56 #4
ja - får det samme som du beskriver med din kode
:-) karsten_larsen
Avatar billede c-sharp Nybegynder
28. februar 2008 - 11:13 #5
Har du så en forklaring på hvorden ændre adfær når man sætter display="Dynamic"?
Avatar billede karsten_larsen Praktikant
28. februar 2008 - 15:22 #6
Avatar billede c-sharp Nybegynder
11. marts 2008 - 19:32 #7
Tak for hjælpen, smid svar
Avatar billede c-sharp Nybegynder
12. marts 2008 - 08:42 #8
Der var jeg vist lige lidt for hurtig til af få afsluttet :)

Jeg mangler stadig en forklaring på hvorfor at "display="dynamic"" gør at mit eksempel ikke virker?
Avatar billede mikalj Nybegynder
12. marts 2008 - 08:54 #9
ingen ide. Forskellen på dynamic og static er vel bare om der skal bruge "visibility: hidden" eller "display: none" til at skjule error message, den ene tager plads på din side selvom error message ikke er synlig, mens den anden ikke gør.

hvorfor display dynamic får det til at virke, kan jeg ikke forklare.
Avatar billede karsten_larsen Praktikant
12. marts 2008 - 09:33 #10
Static
Space for the validation message is allocated in the page layout.

Dynamic
Space for the validation message is dynamically added to the page if validation fails.
Avatar billede c-sharp Nybegynder
12. marts 2008 - 10:21 #11
Jeg forstår stadig ikke hvorfor at det gør at mit eksempel submitter og ikke melder fejl, mens dit eksempel "kaster" en fejl og dermed ikke submitter?

Jeg ved godt hvad de forskellige propeties i display gør rent visuelt...
Avatar billede karsten_larsen Praktikant
12. marts 2008 - 11:32 #12
men skal static ikke fanges via page.isvalid?
Avatar billede c-sharp Nybegynder
12. marts 2008 - 11:49 #13
Display har vel kun betydning for markup, dvs static fylder når siden loades, mens dynamic først fylder når der er fejl.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester