blanktegn i databasen II

greenspun.com : LUSENET : WebdesignII : One Thread

I min projektbørs tjekker jeg inden oprettelsen af et projekt, at der er indtastet noget i alle formvariable med kommandoen chk_exists som er en kopi af metoden fra en NH-forelæsning. Og denne metode ser ud til at virke; hvis man undlader at indtaste noget på siden:

http://hug.itu.dk:8137/oevelse10/opret_projekt_form.html

-returnerer den fejl. Hvis man imidlertid indtaster et blanktegn i hvert formfelt (men dog udfylder email gyldigt) reagerer chk_exists ikke, men databasen fejler fordi jeg hermed tilsyneladende vil "violate not null constraint". Warum? mvh Joachim

-- Joachim Halse (joachim@post7.tele.dk), April 24, 2001

Answers

Ok, jeg har nu fundet ud af hvad der sker. Du har ikke haft en chance for at finde denne fejl. Problemet er, at når man anvender set_the_usual_form_variables, så skabes f.eks. QQform_titel. Jeg har lige checket, at procedureren set_the_usual_form_variables kalder string trim på QQform_titel inden den returneres. Dvs. sige, at QQform_titel _ikke_ indeholder det blanktegn som brugeren har indtastet. Det er helt normalt at man anvender string trim på form-variable inden man anvender dem, så derfor kan man ikke sige at det er en fejl i set_the_usual_form_variables. Det du nok bør gøre, er at anvende chk_exists QQform_titel (og ligeledes for de andre QQ-variable) -- for de form-variabele skal jo også eksistere! Du bør altså skrive

chk_exists form_titel
chk_name navn
chk_email email
chk_exists password
chk_exists tekst
chk_exists QQform_titel
chk_name QQnavn
chk_exists QQpassword
chk_exists QQtekst


-- Niels Hallenberg (nh@it-c.dk), April 25, 2001.

Moderation questions? read the FAQ