Avatar billede humlebien Novice
18. november 2005 - 10:37 Der er 7 kommentarer og
1 løsning

Problem med RequiredFieldValidator

Jeg har i min Page_Load en case, der checker på hvilken kontrol der har genereret en PostBack.
Når der bliver klikket på min "Opret"-knap bliver oprettelsen fint gennemført, men når man kommer tilbage til formen, så står alle mine RequiredFieldValidators med ErrorMessage aktiv - altså den brokker sig over at alle felterne er tomme og det burde den ikke, da formen er frisk-indlæst

Men hvis jeg istedet kører oprettelsen gennem btnOpret_Click(ByVal ....) så er der ingen problemer med RequiredFieldValidators.

Kan man kalde en funktion, der deaktiverer alle RequiredFieldValidators? - for jeg vil gerne fortsætte med at have oprettelsen i min Page_Load

----- kode -----

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim oLogic As New Databehandler.logic_adm
        Dim iReturn As Integer
        Dim iFejl As Integer
        SetCulture(Session("sLanguage"))

        Me.lblStatus.Text = ""

        If Page.IsPostBack Then
            Dim sAction As String
            sAction = Global.GetPostBackControl(Page)
            Me.txtTest.Text = sAction
            Select Case sAction
                Case "lboxPeriode"
                    Dim oTD As New Databehandler.Timedagpenge
                    oTD = oLogic.Timedagpenge_VisData(CInt(Me.lboxPeriode.SelectedItem.Value), iReturn)
                    Me.radioRejseland.SelectedValue = oTD.mLand
                    Me.txtStartdato.Text = oTD.mStartdag
                    Me.txtSlutdato.Text = oTD.mSlutdag
                    Me.txtHeleDagen.Text = oTD.mTDdag
                    Me.txtTimer.Text = oTD.mTDtime
                    Me.txtMorgenmad.Text = oTD.mMorgenmad
                    Me.txtFrokost.Text = oTD.mFrokost
                    Me.txtFuldForplejning.Text = oTD.mFuldforplejning
                    Me.txtNattillaeg.Text = oTD.mNattillaeg
                    Me.calStart.SelectedDate = oTD.mStartdag.Date
                    Me.calSlut.SelectedDate = oTD.mSlutdag.Date
                    Me.btnSlet.Enabled = True
                    Me.btnOpdater.Enabled = True
                    Me.btnOpret.Enabled = False
                Case "ibtnKalenderStart"
                    If Me.calStart.Visible = True Then
                        Me.calStart.Visible = False
                    Else
                        Me.calStart.Visible = True
                    End If
                Case "ibtnKalenderSlut"
                    If Me.calSlut.Visible = True Then
                        Me.calSlut.Visible = False
                    Else
                        Me.calSlut.Visible = True
                    End If
                Case "btnSlet"
                    If Me.lboxPeriode.SelectedValue <> "" Then
                        iFejl = oLogic.Timedagpenge_Slet(CInt(Me.lboxPeriode.SelectedValue), iReturn)
                        If iFejl = 0 Then
                            Me.lblStatus.Text = gStrings.GetString("AdmKonto_KontoSlettet")
                        Else
                            Me.lblStatus.Text = gStrings.GetString("AdmKonto_KontoIkkeSlettet")
                        End If
                        OpdaterPeriodeliste()
                        NulstilFelter()
                    Else
                        Me.lblStatus.Text = gStrings.GetString("AdmKonto_SletKonto_IDIkkeValgt")
                    End If
                Case "btnOpret"
                    iFejl = oLogic.Timedagpenge_Opret(Me.radioRejseland.SelectedValue, Me.txtStartdato.Text, Me.txtSlutdato.Text, CDbl(Me.txtHeleDagen.Text), CDbl(Me.txtTimer.Text), CDbl(Me.txtMorgenmad.Text), CDbl(Me.txtFrokost.Text), CDbl(Me.txtFuldForplejning.Text), CDbl(Me.txtNattillaeg.Text), iReturn)
                    If iFejl = 0 Then
                        Me.lblStatus.Text = gStrings.GetString("AdmTimedagpenge_Perioden") & " " & Me.txtStartdato.Text & " - " & Me.txtSlutdato.Text & gStrings.GetString("AdmTimedagpenge_PeriodeOprettet")
                    Else
                        Me.lblStatus.Text = gStrings.GetString("AdmTimedagpenge_Perioden") & " " & Me.txtStartdato.Text & " - " & Me.txtSlutdato.Text & gStrings.GetString("AdmTimedagpenge_PeriodeIkkeOprettet")
                    End If
                    OpdaterPeriodeliste()
                    NulstilFelter()
                Case "btnNulstil"
                    NulstilFelter()
            End Select
        Else
            OpdaterPeriodeliste()
            '*********************************************************************************************
            ' Sætter Text på Labels
            '*********************************************************************************************
            Me.lblOverskrift.Text = gStrings.GetString("AdmTimedagpenge_Overskrift")
            Me.lblRejseland1.Text = gStrings.GetString("AdmTimedagpenge_Rejseland")
            Me.lblRejseland2.Text = gStrings.GetString("AdmTimedagpenge_Rejseland")
            Me.lblPeriode.Text = gStrings.GetString("AdmTimedagpenge_Periode")
            Me.lblTimeDagpenge.Text = gStrings.GetString("AdmTimedagpenge_TimeDagpenge")
            Me.lblHeleDagen.Text = gStrings.GetString("AdmTimedagpenge_HeleDagen")
            Me.lblTimer.Text = gStrings.GetString("AdmTimedagpenge_Timer")
            Me.lblFradrag.Text = gStrings.GetString("AdmTimedagpenge_Fradrag")
            Me.lblMorgenmad.Text = gStrings.GetString("AdmTimedagpenge_Morgenmad")
            Me.lblFrokost.Text = gStrings.GetString("AdmTimedagpenge_Frokost")
            Me.lblFuldForplejning.Text = gStrings.GetString("AdmTimedagpenge_FuldForplejning")
            Me.lblNattillaeg.Text = gStrings.GetString("AdmTimedagpenge_Nattillaeg")
            '*********************************************************************************************
            ' Sætter Text på Buttons
            '*********************************************************************************************
            Me.btnOpdater.Text = gStrings.GetString("Btn_Opdater")
            Me.btnOpret.Text = gStrings.GetString("Btn_Opret")
            Me.btnSlet.Text = gStrings.GetString("Btn_Slet")
            Me.btnNulstil.Text = gStrings.GetString("Btn_Nulstil")
            Me.btnOpdater.Enabled = False
            Me.btnSlet.Enabled = False
            '*********************************************************************************************
            ' Sætter teksten til RequireFields
            '*********************************************************************************************
            Me.reqFrokost.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqFuldForplejning.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqHeleDagen.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqMorgenmad.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqNattillaeg.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqSlutdato.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqStartdato.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            Me.reqTimer.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ReqManglerIndtastning")
            '*********************************************************************************************
            ' Sætter teksten til RangeValidation
            '*********************************************************************************************
            Me.valStartdato.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValStartdato")
            Me.valSlutdato.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValSlutdato")
            Me.valHeleDagen.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValKunDecimaltal")
            Me.valTimer.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValKunDecimaltal")
            Me.valMorgenmad.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValKunDecimaltal")
            Me.valFrokost.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValKunDecimaltal")
            Me.valFuldForplejning.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValKunDecimaltal")
            Me.valNattillaeg.ErrorMessage = gStrings.GetString("AdmTimedagpenge_ValKunDecimaltal")
        End If
    End Sub

    'Private Sub btnOpret_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpret.Click
    '    Dim iFejl As Integer
    '    Dim iReturn As Integer
    '    Dim oLogic As New Databehandler.logic_adm
    '    iFejl = oLogic.Timedagpenge_Opret(Me.radioRejseland.SelectedValue, Me.txtStartdato.Text, Me.txtSlutdato.Text, CDbl(Me.txtHeleDagen.Text), CDbl(Me.txtTimer.Text), CDbl(Me.txtMorgenmad.Text), CDbl(Me.txtFrokost.Text), CDbl(Me.txtFuldForplejning.Text), CDbl(Me.txtNattillaeg.Text), iReturn)
    '    If iFejl = 0 Then
    '        Me.lblStatus.Text = gStrings.GetString("AdmTimedagpenge_Perioden") & " " & Me.txtStartdato.Text & " - " & Me.txtSlutdato.Text & gStrings.GetString("AdmTimedagpenge_PeriodeOprettet")
    '    Else
    '        Me.lblStatus.Text = gStrings.GetString("AdmTimedagpenge_Perioden") & " " & Me.txtStartdato.Text & " - " & Me.txtSlutdato.Text & gStrings.GetString("AdmTimedagpenge_PeriodeIkkeOprettet")
    '    End If
    '    OpdaterPeriodeliste()
    '    NulstilFelter()
    'End Sub
Avatar billede dr_chaos Nybegynder
18. november 2005 - 10:39 #1
jeg mener at du kan sætte enabled på en req validator.
Avatar billede humlebien Novice
18. november 2005 - 11:09 #2
... og hvad skulle det hjælpe?
Avatar billede humlebien Novice
18. november 2005 - 11:10 #3
den er sat til enabled
Avatar billede dr_chaos Nybegynder
18. november 2005 - 11:12 #4
hvis du disabler dem i codebehind mens du indlæser tekst i felterne og enabler dem efterfølgende så undgår du måske brok.
Avatar billede humlebien Novice
18. november 2005 - 11:28 #5
Det tror jeg ikke hjælper, for teksten sættes kun hvis det ikke er en PostBack - altså kun første gang siden indlæses
Avatar billede dr_chaos Nybegynder
21. november 2005 - 13:36 #6
efter du har fyldt tekst i tekstboksene så prøv at kalde validate();
Avatar billede dr_chaos Nybegynder
04. februar 2006 - 16:51 #7
Du mangler at lukke spørgsmålet.
Avatar billede humlebien Novice
12. januar 2007 - 14:30 #8
lukker
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