Avatar billede hnteknik Novice
26. august 1999 - 11:28 Der er 14 kommentarer og
1 løsning

Hvordan laver man client side validering i Java ?

Jeg har lavet en client side vbscript valideringsrutine. Den virker selvfølgelig ikke i netscape, hvor jeg har forsøgt at oversætte den til jscript. Det er jeg bare ikke god til. Er der ikke af jer J-eksperter, der kan give en hånd med ?

....
<input TYPE="button" NAME="btnEnter" VALUE="Tilføj data">

<script LANGUAGE="VBScript">
<!--
Sub btnEnter_OnClick
  Dim TheForm, txtmsg
  txtmsg = ""
  Set TheForm = Document.sendrmdata
 
  If not Isdate(TheForm.txtdato.value) Then       
        txtmsg=txtmsg+"Indtast venligst en Dato." & vbcrlf
  end if
  If not Isdate(TheForm.txtkl.value)and TheForm.txtkl.value>""  Then       
        txtmsg=txtmsg+"Indtast venligst et klokkeslet" & vbcrlf
  end if
  If not IsNumeric(TheForm.txttimer.value)and TheForm.txttimer.value>""  Then       
        txtmsg=txtmsg+"Indtast venligst et antal timer." & vbcrlf
  end if
  If not IsNumeric(TheForm.txtkm.value)and TheForm.txtkm.value>""  Then       
        txtmsg=txtmsg+"Indtast venligst et tal for km." & vbcrlf
  end if
  If not IsNumeric(TheForm.txtudlaeg.value)and TheForm.txtudlaeg.value>""  Then       
        txtmsg=txtmsg+"Indtast venligst et beløb for udlæg." & vbcrlf
  end if
  if txtmsg="" then
       
        TheForm.submit               
  Else
        Msgbox  txtmsg     ,,"De her data duér ikke"
  End if
End Sub
//-->
</script>

<script LANGUAGE="JScript">
//<!--
function btnEnter2_OnClick()
{

  var TheForm = Document.sendrmdata;
  var txtmsg = "";

  if (Isdate(TheForm.txtdato.value))
      txtmsg += "Indtast venligst en Dato." + "\n\n";

  if (not Isdate(TheForm.txtkl.value)and TheForm.txtkl.value>"")
    txtmsg+="Indtast venligst et klokkeslet" + "\n\n";

  if (not IsNumeric(TheForm.txttimer.value)and TheForm.txttimer.value>"")
          txtmsg=txtmsg+"Indtast venligst et antal timer." & "\n\n";

  if (not IsNumeric(TheForm.txtkm.value)and TheForm.txtkm.value>"")
    txtmsg=txtmsg+"Indtast venligst et tal for km." & "\n\n";
 
  if (not IsNumeric(TheForm.txtudlaeg.value)and TheForm.txtudlaeg.value>"")
    txtmsg=txtmsg+"Indtast venligst et beløb for udlæg." & "\n\n";
 
  if (txtmsg="")
    TheForm.submit               
    Else alert("Data kunne ikke sendes:" + txtmsg);
 
return txtmsg;
//-->
</script>

Mvh Henrik
Avatar billede mit Nybegynder
26. august 1999 - 16:55 #1
tja, du kan se princippet i mit svar på dette spørgsmål:
http://www.eksperten.dk/spm.asp?id=3597
Avatar billede hnteknik Novice
26. august 1999 - 21:40 #2
Krads krads

jeg har jo lavet en del af det forneden.
Det er jo lige j syntaxen, det kniver lidt med. Jeg må se, om jeg kan klare mig med det imorgen, så får du points.
(anyway det var jo kun 30).
Henrik
Avatar billede mit Nybegynder
26. august 1999 - 22:22 #3
jamen jeg kan da godt hjælpe dig med syntax'en...Men, jeg kan jo se, at du kan godt programmere, så hvis du kan validate'e et felt, så er resten jo trivielt...
Avatar billede hnteknik Novice
27. august 1999 - 12:19 #4
ja tak -  men nu har jeg næsten lavet det.

Hjælp mig Jscript counterparten til isdate og isnumeric, og du skal få points.

Henrik
Avatar billede cyberesben Nybegynder
27. august 1999 - 21:10 #5
hnteknik, lad være med at forveksle JavaScript og JScript

JavaScript er en officiel standard som man bruger overalt, JScript er Microsofts egen udgave af det, som ikke er helt kompatibel...
Avatar billede mit Nybegynder
29. august 1999 - 22:50 #6
Ja, det er korrekt...Men, jeg gik ud fra, at det var noget client-side JavaScript du manglede ?
Jeg tror ikke, at de metoder er indbygget (selvom jeg ikke er 100% på hvad de gør), men en datochecker skulle man nok kunne kode selv....Meeeeen, det er nu en lidt større opgave ;-)
Avatar billede hnteknik Novice
30. august 1999 - 09:38 #7
Ja undskyld - det var noget klient jscript , jeg manglede.

Jeg fatter ikke, at vbscript kan have nogle funktioner som isdate() og
ikke tilsvarende i jscript, men det er vel MS måde at styre folk på.

D

Jeg har i mellemtiden støvet noget kode op som behandler emnet DATE VALIDATING:

Hvis nogen er interesseret, så prøv at kigge på: Aform.js (ver 12-03-99) under acrobat reader plug ins: function AFParseDateEx(cString, cOrder).
/* Attempts to parse a string containing some form of date; returns null
    ** on failure or a Date object on success. cOrder should be the order in
    ** which the date is entered (e.g. ymd, mdy, etc.). Use AFParseDateOrder to
    ** generate this string from an arbitrary format string. */

Men skulle det være den eneste mulighed ???
Henrik
Avatar billede hnteknik Novice
31. august 1999 - 10:32 #8
Ja undskyld igen - det var selvfølgelig noget javascript jeg eftersøgte for at få det til at virke under NS, men det giver vel ikke nye muligheder for
dato validering
Henrik
Avatar billede mit Nybegynder
31. august 1999 - 15:14 #9
Det du mangler; er det en funktion, som kan kontrollere om indholdet af et txtfelt er en "lovlig" dato ?
Sådan en fuktion burde nok være muligt at lave...dog synes jeg måske at 30pts er lige i underkanten ;-)
Hvad formet havde du forestillet dig ?
310899 eller
31-08-99 eller
31-08-1999
...eller hvad ?
Avatar billede hnteknik Novice
31. august 1999 - 16:32 #10
De 30 var for at stikke mig navnet på funktionen.
Jeg troede en sådan fandtes !
Jeg giver gerne 100 ? 200 ? for en god rutine. Hvad skal du have ??
Når den fanger opretter jeg et nyt spørgsmål med points !

formatet skulle være  31-08-1999, men
prøv at kigge på: Aform.js (ver 12-03-99) under
                    acrobat reader plug ins: function AFParseDateEx(cString, cOrder). Den skulle tage alle eventualiteter med.



Avatar billede mit Nybegynder
31. august 1999 - 20:06 #11
Oki, jeg har har lavet en her; du får lige hele filen, så kan du nok bedre se hvad (og hvordan) du skal bruge...
Den er lavet, så input skal være f.eks.: 01-09-1999...det kan selvfølgelig ændres... Den kontrollerer for skudår og alt(sku' jeg mene).
Den Aform.js du snakker om, fandt jeg langt om længe, da jeg installerede AR4.0 (havde 3.0). Men det er lidt svært at stjæle, da der er en hel del funktioner, som kaldes...
Men ta' et kig på den her:

<HTML>
<HEAD>
<script language="Javascript">
function checkDate(value){

dato = value;

d = dato.substring(0,2);
m = dato.substring(3,5);
y = dato.substring(6,dato.length);
if (isNaN(d) || isNaN(m) || isNaN(y)){alert('Indtast venligst en gyldig dato.\neks.:\n01-09-1999'); return false}
ly = (y % 4 == 0) && ((y % 100 != 0) || (y % 400 == 0));
if (d < 1 || d > 31 || m < 1 || m > 12){alert('Indtast venligst en gyldig dato.\neks.:\n01-09-1999'); return false}
if (m == 2 && (d == 30 || d == 31)){alert('Indtast venligst en gyldigdato.\neks.:\n01-09-1999'); return false}
if (m == 2 && d == 29 && !ly){alert('Indtast venligst en gyldig dato.\neks.:\n01-09-1999'); return false}
if (d == 31 && (m == 4 || m == 6 || m == 9 || m == 11)){alert('Indtast venligst en gyldig dato.\neks.:\n01-09-1999'); return false}
return true;
}

</script>



</HEAD>
<BODY>
<form method="post" action=""  name="test" onsubmit="return checkDate(box1.value)">

  <input type="text" name="box1" value="a" >


  <input type="submit" value="svar" >
</form>

</BODY>
</HTML>

..håber det var det du manglede ?

Mht. de point...Det finder du bare ud af. Det var ment som en lille ;-)
Avatar billede hnteknik Novice
01. september 1999 - 09:55 #12
tak mit - du kan hente dine ekstra points på http://www.eksperten.dk/spm.asp?id=3838
Henrik
Avatar billede hnteknik Novice
01. september 1999 - 09:58 #13
Jeg går ud fra, at jeg selv kan lave en tilsvarende for tidskontrol

tid mellem 00:00 og 23:59

tak igen
Avatar billede hnteknik Novice
01. september 1999 - 10:30 #14
Der manglede lige detteher, så er den helt plingeling.

divs = dato.substring(2,3)+dato.substring(5,6);

if (!(divs=="--"))
    {
        alert('Indtast venligst en gyldig dato.\nBrug - som separator eks.:\n31-12-1999');
        return false
              }
Avatar billede mit Nybegynder
01. september 1999 - 12:57 #15
god idé !

Ja, princippet vil være det samme, når du skal lave tidskontrollen..
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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