Avatar billede cogitans Nybegynder
19. marts 2005 - 11:55 Der er 13 kommentarer og
1 løsning

client script på custom validator

Jeg har lavet en form på min aspx-side, hvor jeg gerne vil udføre et check for længen af ordet i en box. Jeg har lavet et servercheck, som fungerer fint. Men jeg vil også gerne lave et clientsidecheck.
I CustomValidator'en har jeg skrevet:

ControlToValidate="txtMellemTegn" ClientValidationFunction="check"

Og i Head'en har jeg skrevet:

<script language="javascript">
function check(source,arguments)
{
<!--
    if(arguments.length<3)
    {
        arguments.IsValid = false; 
    }else
    {
            arguments.IsValid = true;
    }
}
//-->
</script>

Hvorfor virker det ikke, og hvad skal der skrives, for det virker?
Avatar billede snepnet Nybegynder
20. marts 2005 - 00:15 #1
hej cogitans :o)

prøv sådan her :

<script language="javascript">
function validateControl(source,arguments)
{
    if(arguments.Value.length<3)
    {
        arguments.IsValid = false; 
    }
    else
    {
        arguments.IsValid = true;
    }
}
</script>

mvh
Avatar billede cogitans Nybegynder
20. marts 2005 - 08:44 #2
så skal jeg jo bare ændre funktionskaldet i asp-linien. Hvor er fidusen ved det?
Avatar billede snepnet Nybegynder
20. marts 2005 - 10:55 #3
hehe... pyt med navnet på funktionen :o)
det var mere det her der var pointen :

if(arguments.Value.length<3)
istedet for
if(arguments.length<3)

mvh
Avatar billede cogitans Nybegynder
20. marts 2005 - 11:38 #4
Ja, okay. Klart nok. Men den linie har jeg også forsøgt (det var faktisk mit første forsøg). Men det tyder på, at funktionen slet ikke bliver kaldt. Hvordan kan man checke, at funktionen bliver kaldt? Kan man evt. skrive en linie ud inde i funktionen?
Avatar billede snepnet Nybegynder
20. marts 2005 - 13:17 #5
det fungerer fint hos mig..... vær opmærksom på, at du skal foretage ændringer i tekstboksen før metoden kaldes.
mvh
Avatar billede snepnet Nybegynder
20. marts 2005 - 13:19 #6
men udover er den nemmeste måde du kan checke om metoden kaldes, nok bare at lave en :

alert('test');

som det første.

mvh
Avatar billede cogitans Nybegynder
20. marts 2005 - 13:22 #7
Ah - en "alert" resulterer i en popupbox, ik?
Avatar billede snepnet Nybegynder
20. marts 2005 - 13:26 #8
jo - men det var ikke helt rigtigt det jeg skrev før.... funktionen kaldes kun, hvis der står noget i tekstboksen.
mvh
Avatar billede snepnet Nybegynder
20. marts 2005 - 13:29 #9
såh... du kan eventuelt kompinere din custom-validator med en RequiredFieldValidator... Det giver sådan set også meget god mening at du giver forskellige fejlmeddelelser ved et ikke udfyldt felt, og et forkert udfyldt felt.
mvh
Avatar billede cogitans Nybegynder
22. marts 2005 - 10:11 #10
Hvis jeg skriver:
*****************
        <script language="javascript">
        function check(source,arguments)
        {
        //<!--
            alert("Kom ind");
             if(arguments.Value.length<3) 
             { 
             alert("falsk");
                 arguments.IsValid = false;  
             }else
            { 
            alert("sand");
                arguments.IsValid = true;
            } 
        }
        //-->
        </script>
*****************
og kalder funktionen gennem feltet:
*****************
<asp:customvalidator id="txtValidator" runat="server" Height="8px" Width="88px" ControlToValidate="txtMellemTegn"
ErrorMessage="Den gik ikke!" ClientValidationFunction="check()"></asp:customvalidator>
*****************
Så kommer der et popup frem, hvor der står "Kom ind". Men der kommer ikke andre boxe frem. Kalder jeg funktionen forkert? Der skal jo argumenter med?
Avatar billede snepnet Nybegynder
22. marts 2005 - 10:17 #11
ja den er ikke helt i vinkel.... du skal ikke angive et kald til metoden, blot navnet... Såhh... istedet for
ClientValidationFunction="check()"
skal du nøjes med
ClientValidationFunction="check"

mvh
Avatar billede cogitans Nybegynder
22. marts 2005 - 10:20 #12
Yes - nu fungerer det :-)
Læg lige et svar, Snepnet!
Avatar billede snepnet Nybegynder
22. marts 2005 - 11:56 #13
et svar her :o)
mvh
Avatar billede cogitans Nybegynder
22. marts 2005 - 16:10 #14
Skjønt!
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