blanktegn i databasen IIgreenspun.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
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.