Files
cao_sunyata/cao_blogr/forms.py

35 lines
1.5 KiB
Python

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])