class BookForm(FlaskForm): """Form to create a book.""" title = StringField('Book Title', validators=[DataRequired(), Length(min=3, max=80)]) publish_date = DateField('Date Published') author = QuerySelectField('Author', query_factory=lambda: Author.query, allow_blank=False) audience = SelectField('Audience', choices=Audience.choices()) genres = QuerySelectMultipleField('Genres', query_factory=lambda: Genre.query) submit = SubmitField('Submit')
class BookForm(FlaskForm): """Form to create a book.""" title = StringField('Book Title', validators=[ DataRequired(), Length(min=3, max=80, message="Your message needs to be betweeen 3 and 80 chars") ]) publish_date = DateField('Date Published', validators=[DataRequired()]) author = QuerySelectField('Author', query_factory=lambda: Author.query, allow_blank=False) audience = SelectField('Audience', choices=Audience.choices()) genres = QuerySelectMultipleField('Genres', query_factory=lambda: Genre.query) submit = SubmitField('Submit') def validate_title(form, field): if 'banana' in field.data: raise ValidationError('Title cannot contain the word banana')