26. august 1999 - 11:28Der 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 ?
<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);
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
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
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...
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 ;-)
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
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
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 ?
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.
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; }
Ja, princippet vil være det samme, når du skal lave tidskontrollen..
Synes godt om
Ny brugerNybegynder
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.