/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Validering - ingen specialtegn.
Fra : Jacob ..


Dato : 12-01-04 12:23

Kan man lave en validering i Javascript der validerer *alle*
felter i en form for specialtegn som: ' < > " &

Hvis disse tegn skrives i formfelterne skal den fortælle at
formfelterne ikke må indeholde disse tegn.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (12-01-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 12-01-04 15:58

Jacob .. wrote:
> Kan man lave en validering i Javascript der validerer *alle*
> felter i en form for specialtegn som: ' < > " &
>
> Hvis disse tegn skrives i formfelterne skal den fortælle at
> formfelterne ikke må indeholde disse tegn.

Det bedste er at lave det omvendt - at finde ud af hvilke tegn der er
"lovlige" at skrive i feltet.

Er det a-å og 0-9? SÅ kan jeg hurtig bikse et eksempel sammen ;)

mvh
Johan


Lasse Reichstein Nie~ (12-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 12-01-04 18:27

Johan Holst Nielsen <johan@weknowthewayout.com> writes:

> Jacob .. wrote:
>> Kan man lave en validering i Javascript der validerer *alle*
>> felter i en form for specialtegn som: ' < > " & Hvis disse tegn
>> skrives i formfelterne skal den fortælle at
>> formfelterne ikke må indeholde disse tegn.
>
> Det bedste er at lave det omvendt - at finde ud af hvilke tegn der er
> "lovlige" at skrive i feltet.

Jeg er uenig. Hvis man ikke er *fuldstændig* sikker på hvad man laver,
og det lyder det ikke til, så er det bedre for brugeren at tillade for
meget end for lidt. Selvfølgelig skal man altid holde styr på hvad
de data man får, bruges til.

Jeg vil dog overveje om det er vigtigt at forbyde ', da den også bruges
som apostrof i tekst: "Det er Hans' cd'er".

> Er det a-å og 0-9? SÅ kan jeg hurtig bikse et eksempel sammen ;)

Så bliver hr. Mövenpick nok træt af ikke at kunne skrive sit navn.


Eksempel på validering:
---
function validate(form) {
var elements = form.elements;
var fejl = false;
for (var i=0;i<elements.length;i++) {
var elem = elements[i];
if (/^text(area)?$/i.test(elem.type)) {
if (/['<>"&]/.test(elem.value)) {
fejl = true;
elem.style.border="2px solid red";
} else {
elem.style.border="";
}
}
}
if (fejl) {
alert("Felterne må ikke indeholde tegnene ', \", <, >, eller &.");
}
return !fejl;
}
---
Den kaldes som
---
<form action="..." onsubmit="return validate(this);">
---

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jacob .. (13-01-2004)
Kommentar
Fra : Jacob ..


Dato : 13-01-04 10:04

> function validate(form) {


Det var netop den jeg søgte.

Grunden til at jeg ikke vil tillade specialtegn er, at den crasher min
database. Jeg ved at jeg kan klare den med et asp-script, men jeg føler
egentligt at Javascript-validering er bedre. I forvejen validerer jeg mine
obligatoriske inputs med en function validate(form), så det er mest nærliggende
at fortsætte af den sti.



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Lars Olesen (13-01-2004)
Kommentar
Fra : Lars Olesen


Dato : 13-01-04 10:11

> Grunden til at jeg ikke vil tillade specialtegn er, at den crasher min
> database. Jeg ved at jeg kan klare den med et asp-script, men jeg føler
> egentligt at Javascript-validering er bedre. I forvejen validerer jeg mine
> obligatoriske inputs med en function validate(form), så det er mest nærliggende
> at fortsætte af den sti.

Det er ikke god programmeringsskik. Jeg er enig i at javascript er godt,
men det må aldrig erstatte serversidevalidering, for tænk, hvis jeg slår
javascript fra, så kan jeg crashe din database.

I hvert fald skal du serverside erstatte evt. skadelige tegn med fx en
replace(streng, ">", "&lt;") mv. Sådan mener jeg i hvert fald koden i
asp er.

--
Lars
www.fodboldenslegestue.dk   www.larsolesen.dk
www.discimport.dk      www.vih.dk


Jacob .. (13-01-2004)
Kommentar
Fra : Jacob ..


Dato : 13-01-04 10:44

> Det er ikke god programmeringsskik. Jeg er enig i at javascript er godt,
> men det må aldrig erstatte serversidevalidering, for tænk, hvis jeg slår
> javascript fra, så kan jeg crashe din database.

I samme sekund jeg postede forrige indlæg kom jeg til at tænke på det samme. Så jeg
er i fuld gang med en replace-funktion i stedet.

Tak for svar!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (13-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-01-04 10:40

Lars Olesen skrev:

> I hvert fald skal du serverside erstatte evt. skadelige tegn
> med fx en replace(streng, ">", "&lt;") mv. Sådan mener jeg i
> hvert fald koden i asp er.

I asp kan man benytte sig af funktionen Server.HTMLencode der
behandler alle specialtegn. I databasesammenhæng er det dog mere
almindeligt at det er ' (apostrof) der er et "problemtegn". Det er
HTMLencode ligeglad med (apostroffen har ingen specialbetydning i
HTML), men den kan erstattes med en normal replace.

Se evt. lidt om serversidevalidering i asp her:
<http://asp-faq.dk/article/?id=95>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste