This is the PowerFormWizard Sample App

In the menu above, you can navigate throught examples, Documentation and credits. This is based on jquery Stepy Plugin.
Take a look at options and notes menu | Only works with web2py version 2.0 +

Simple FormWizard with default options and server side validation

Your name please!
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.

# controllers/default.py
def index():
# STEPS: A dict with fields for each step
mysteps = [dict(fields=['name','lastname']),
dict(fields=['colors','picture','bio']),
dict(fields=['email','password'])]
# IMPORT: Import the module
from plugin_PowerFormWizard import PowerFormWizard
# CREATE: Create the form object just like the SQLFORM
form = PowerFormWizard(db.person, steps=mysteps)

# VALIDATE: web2py form validation
if form.accepts(request.vars, session):
response.flash = "Records inserted!"
elif form.errors:
form.step_validation() # VERY IMPORTANT FOR VALIDATION!!!!
response.flash = "Errors in form"

# Enjoy!
return dict(form=form)

# models/db.py
colors = ['blue','red','green','yellow','pink','black']

db.define_table('person',
Field('name'),
Field('lastname'),
Field('birthdate','datetime'),
Field('colors'),
Field('bio','text'),
Field('picture','upload'),
Field('email'),
Field('password')
)

db.person.name.requires=IS_NOT_EMPTY()
db.person.email.requires=[IS_EMAIL(), IS_NOT_EMPTY()]
db.person.colors.requires=IS_IN_SET(colors)
db.person.bio.requires = IS_LENGTH(minsize=5, maxsize=200)