[asp.net] CustomValidator valideert niet

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb twee CustomValidators op een pagina staan, maar de ene doet het wel en de ander niet. Op het moment dat degene die het niet doet, uitgevoerd moet worden, is degene die het wel doet, wel valid (dus dan moet ie de volgende validator valideren). Ook bevat de Page.Validators collection degene die het niet doet. Ik kan zelfs de Validate() methode aanroepen, maar die returnt gewoon altijd onmiddelijk. Verder staat van de validator ClientScript uit, ViewState aan, Enabled aan en Visible aan. ControlToValidate is een TextBox en die is ook Visible en Enabled.

Ik heb in het Validate event zelfs een breakpoint gezet, maar daar komt ie gewoon nooit, dus aan de invulling van het event zal het (nu) niet liggen... Misschien aan de invulling van de eerste CustomValidator? Maar het gekste is dus dat de twee CustomValidators extact gelijk zijn (op ID en ControlToValidate na dan) en toch wordt de ene wel, en de ander niet uitgevoerd.

Wat code...
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//Deze doet het wel gewoon
private void vldSerialNumber_ServerValidate(object source,
    System.Web.UI.WebControls.ServerValidateEventArgs args)
{
    args.IsValid = false;
    switch (Logics.SerialNumberIsCorrect(txtSerialNumber.Text))
    {
        case Logics.AlreadyActivated:
            ((CustomValidator) source).ErrorMessage =
                "Dit serienummer is al geactiveerd."; 
            break;
        case Logics.IncorrectSerialNumber:
            ((CustomValidator) source).ErrorMessage =
                "Ongeldig serienummer ingevoerd.";
            break;
        default:
            args.IsValid = (txtSerialNumber.Text.Length > 0);
            break;
    }
}

//En deze wordt niet eens uitgevoerd
private void rqdName3_ServerValidate(object source,
    System.Web.UI.WebControls.ServerValidateEventArgs args)
{
    if (RequiredUsername)
        args.IsValid = (txtName3.Text.Length > 0);
    else
        args.IsValid = true;
}


Help :?

日本!🎌


Verwijderd

Je hebt hem wel ge-wired? :9

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
ge-wat? Dat heb ik niet hoeven doen (wat het ook is) bij de validators die wel werken...

日本!🎌


Verwijderd

CustomValidators op Textboxes gaan alleen af als je wat invult in de textbox. Als je ook lege textboxes wil valideren, moet je de RequiredFieldValidator gebruiken icm een CustomValidator. Ik plaats meestal al mijn CustomerValidators op een verplichte textbox en ben dan ook meteen van al het gezeik af.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Zal ik morgen gelijk uitproberen, maar het probleem is dus dat het veld niet altijd verplicht is, dus daarom wilde ik een CustomValidator gebruiken. Maargoed, misschien kan ik de Enabled property van de RequiredFieldValidator dan wel gebruiken...

日本!🎌