class ContactForm(Form):
    name = TextField('Name', validators=[Required()])
contact_type = SelectField('Contact Type', validators=[Required()], choices
    =[('email', 'Email'), ('phone', 'Phone Number'), ('im', 'Instant Message')]
    )
email_address = TextField('Email', validators=[If('contact_type', 'email',
    [Required(), Email()])])
phone_number = TextField('Phone #', validators=[If('contact_type', 'phone',
    [Required()])])
im_handle = TextField('IM Handle', validators=[If('contact_type', 'im', [
    Required()])])


class SignUpForm(Form):
    contacts = FieldList(FormField(ContactForm))
Как правильно построить форму с повторяющимися элементами