Sam Hunting wrote:
Can anyone point me to a complete worked example? From the request form, through the scripted action, to the response.
Here's a quick sample of the pattern I usually use. The Script controls the action: ## Script (Python) "formDemo" ##parameters=data=None ## form = container['formDemo.zpt'] if data is None: return form() errors = {} if not data.name.strip(): errors['name'] = 'Name is required' if data.ssn.strip(): if len(data.ssn.strip()) < 9: errors['ssn'] = 'SS # must be nine digits' else: errors['ssn'] = 'SS # is required' if errors: return form(errors=errors) # Do something with the valid data ...and the Page Template displays the form: <html> <body> <form method="POST" tal:attributes="action request/URL" tal:define="data request/form/data | nothing"> <div>Name: <input name="data.name:record" tal:attributes="value data/name | nothing" /> <span tal:replace="options/errors/name | nothing">Error</span> </div> <div>SS#: <input name="data.ssn:record" tal:attributes="value data/ssn | nothing" /> <span tal:replace="options/errors/ssn | nothing">Error</span> </div> <div><input type="submit" value="Submit" /></div> </form> </body> </html> Cheers, Evan @ 4-am