Avatar billede idiotbarn Nybegynder
25. april 2005 - 16:28 Der er 5 kommentarer og
1 løsning

Validering af "new TextBox"

Jeg har lavet en side, der opretter en tabel med følgende:
public void Page_Load(Object sender, EventArgs E){
    //Opret array med indhold af tabel
    String[] arrContent = new String[12];
    arrContent.SetValue("News",0);
    arrContent.SetValue("NewsMaintain",1);
    arrContent.SetValue("EditText",2);
    arrContent.SetValue("Newsletter",3);
    arrContent.SetValue("NewsletterEntry",4);
    arrContent.SetValue("Tagwall",5);
    arrContent.SetValue("TagwallEntry",6);
    arrContent.SetValue("PictureUpload",7);
    arrContent.SetValue("Popupmanager",8);
    arrContent.SetValue("Visitor",9);
    arrContent.SetValue("UserOverview",10);
    arrContent.SetValue("UserMaintain",11);

    //Opret tabel
    for (int i=0;i<arrContent.GetLength(0);i++){
        TableRow r = new TableRow();
        TableCell c = new TableCell();
        TableCell c1 = new TableCell();

          CheckBox chkBox = new CheckBox();
          chkBox.ID=arrContent[i];
          chkBox.Text=arrContent[i];
          c.Controls.Add(chkBox);

          TextBox txtBox = new TextBox();
          txtBox.ID="txt"+arrContent[i];
          c1.Controls.Add(txtBox);


        r.Cells.Add(c);
        r.Cells.Add(c1);

        r.ID="row"+arrContent[i];
        ContentTable.Rows.Add(r);
        ContentTable.Visible=true;

    }

}

Jeg er nu rendt ind i lidt problemer.
1) Jeg har en funktion der skal validere tekstfelterne, samme costumvalidator til alle felter (kaldet DateValidater). Hvordan knytter jeg dem til tekstfelterne nemmest muligt?

2)Har checkbox ikke et "name" tag eller ligende så man får et array af valgte når man submitter?
Avatar billede burningice Nybegynder
26. april 2005 - 00:25 #1
1) du opretter bare en instans af du validator, knytter den control til som skal valideres og tilføjer validatoren til din sides validator-collection.

2) du skal bruge en checkboxlist til at tilføje dine checkboxes til, så går det lidt nemmere.
Avatar billede idiotbarn Nybegynder
26. april 2005 - 00:30 #2
Jeg har prøvet med:

void DateValidator(object sender, ServerValidateEventArgs e) {

try
    {
        //Er Tekstfeltet tomt eller er det en valid dato
        if (e.Value.Equals("")){
            e.IsValid = true;
            }else{
            DateTime TempVar = DateTime.ParseExact(e.Value,"dd-MM-yyyy",null);
            e.IsValid=true;
        }
    }

    catch
    {
        e.IsValid=false;
    }

}


og:


        CustomValidator DateVal = new CustomValidator();
        DateVal.ClientValidationFunction = DateValidator();
        DateVal.ControlToValidate="txt"+arrContent[i];
        DateVal.ErrorMessage = "Invalid value";


men får fejlen:

Ingen overload for metoden 'DateValidator' anvender '0' argumenter

Kan ikke lige gennemskue hvad den mener, jeg har også prøvet med:
DateVal.ClientValidationFunction = DateValidator;
Avatar billede burningice Nybegynder
26. april 2005 - 08:41 #3
for det første kan du ikke bruge en server-funktion til clientvalidator, så med mindre du har en javascript-funktion på klienten skal du slet ikke sætte noget på ClientValidationFunction.

Og for det næste har du ingen funktion med følgende signatur: DateValidator();

Gør istedet sådan her:

CustomValidator DateVal = new CustomValidator();
DateVal.ClientValidationFunction = DateValidator();
DateVal.ControlToValidate="txt"+arrContent[i];
        DateVal.ErrorMessage = "Invalid value";
Avatar billede burningice Nybegynder
26. april 2005 - 08:42 #4
hov

CustomValidator DateVal = new CustomValidator();
DateVal.ServerValidate += new ServerValidateEventHandler(this.DateValidator);
DateVal.ControlToValidate="txt"+arrContent[i];
DateVal.ErrorMessage = "Invalid value";
Avatar billede idiotbarn Nybegynder
09. maj 2005 - 07:55 #5
Tak. Ligger du svar?
Avatar billede burningice Nybegynder
09. maj 2005 - 10:16 #6
svar
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