Posted to tcl by colin at Sat Aug 23 10:30:16 GMT 2008view pretty
Coco init copi /copi/ {r { set referer [Http Referer $r] set r [yield] ;# initially just redirect set forename "" set surname "" set phone "" set message {{Please enter someone's personal information.}} set valid 0 while {!$valid} { # issue form set r [jQ hint $r] ;# add form hinting set r [yield [Http Ok [Http NoCache $r] [subst { [<h1> "Personal Information"] [<p> [join $message </p><p>]] [<form> info { [<fieldset> personal { [<legend> [<submit> submit "Personal Information"]] [<text> forename title "Forename" $forename] [<text> surname title "Surname" $surname] [<br>][<text> phone title "Phone number" $phone] }] }] }] x-text/html-fragment]] # unpack query response set Q [Query flatten [Query parse $r]] # validate fields set forename [Dict get? $Q forename] set surname [Dict get? $Q surname] set phone [Dict get? $Q phone] set message "" if {$forename eq ""} { lappend message "Forename can't be empty." } if {$surname eq ""} { lappend message "Surname can't be empty." } if {![regexp {^[-0-9+ ]+$} $phone]} { lappend message "Phone number has to look like a phone number." } } return [Http Redirect $r $referer] }} }
Comments
Posted by colin at Sat Aug 23 10:34:04 GMT 2008 [text] [code]
Oh, I forgot to actually test the validation