from wtforms import Form, StringField, TextAreaField, SelectField from wtforms import IntegerField, PasswordField from wtforms.validators import InputRequired, Length, Email from wtforms.widgets import HiddenInput strip_filter = lambda x: x.strip() if x else None class BlogCreateForm(Form): title = StringField('Titre', validators=[InputRequired(), Length(min=1, max=255)], filters=[strip_filter]) body = TextAreaField('Corps du texte', validators=[InputRequired(), Length(min=1)], filters=[strip_filter]) tag = SelectField('Sous-rubrique') class BlogUpdateForm(BlogCreateForm): id = IntegerField(widget=HiddenInput()) class BlogSearchForm(Form): criteria = StringField('Critère', validators=[InputRequired(), Length(min=3, max=45)], filters=[strip_filter]) class UserCreateForm(Form): username = StringField('Nom', validators=[InputRequired(), Length(min=1, max=255)], filters=[strip_filter]) password = PasswordField('Mot de passe', validators=[InputRequired(), Length(min=6)]) class ContactForm(Form): name = StringField('Nom', validators=[InputRequired(), Length(min=1, max=255)], filters=[strip_filter]) email = StringField('Email', validators=[InputRequired(), Length(min=1, max=255), Email()], filters=[strip_filter]) comments = TextAreaField('Message', validators=[InputRequired(), Length(min=1)], filters=[strip_filter])