I use WTForms in the Flask app I'm building, and my forms work fine. However I use slightly different syntax:
deadline = TextField('Deadline',[validators.Required()])
notice the dot notation in validators, maybe this is something that's causing your problem?
I checked it now and it turns out that in this case I follow the WTF documentation way, at least in crash course they are writing things like this.
accept_rules = BooleanField('I accept the site rules', [validators.Required()])
If this doesn't work you can try writing simply:
familyname = TextField('familyname', [Required()])
You can also explicitly set validators to be optional:
biography = TextAreaField('biography', [validators.optional())