2017-05-10 18:41:02 +02:00
from flask_wtf import FlaskForm
2017-05-16 19:52:53 +02:00
from wtforms import StringField as _StringField , SubmitField as _SubmitField
2017-05-10 18:41:02 +02:00
from wtforms . validators import DataRequired , Email , Length
2017-05-16 19:52:53 +02:00
from wtforms . fields . html5 import TelField as _TelField , EmailField as _EmailField
2017-05-10 18:41:02 +02:00
2017-05-16 19:52:53 +02:00
class AddArgsMixin ( object ) :
_field_args = { }
def __init__ ( self , name , field_args , * args , * * kwargs ) :
self . _field_args = field_args
super ( AddArgsMixin , self ) . __init__ ( name , * args , * * kwargs )
class StringField ( AddArgsMixin , _StringField ) :
pass
class SubmitField ( AddArgsMixin , _SubmitField ) :
pass
class TelField ( AddArgsMixin , _TelField ) :
pass
class EmailField ( AddArgsMixin , _EmailField ) :
pass
2017-05-10 18:41:02 +02:00
class ContactForm ( FlaskForm ) :
2017-05-16 19:52:53 +02:00
name = StringField ( ' Name ' , dict ( class_ = ' form-control ' ) , validators = [ DataRequired ( ) , Length ( min = - 1 , max = 80 , message = ' You cannot have more than 80 characters ' ) ] )
surname = StringField ( ' Surname ' , field_args = dict ( class_ = ' form-control ' ) , validators = [
Length ( min = - 1 , max = 100 , message = ' You cannot have more than 100 characters ' ) ] )
email = EmailField ( ' E-Mail ' , field_args = dict ( class_ = ' form-control ' ) , validators = [
Email ( ) , Length ( min = - 1 , max = 200 , message = ' You cannot have more than 200 characters ' ) ] )
phone = TelField ( ' Phone ' , field_args = dict ( class_ = ' form-control ' ) , validators = [
Length ( min = - 1 , max = 20 , message = ' You cannot have more than 20 characters ' ) ] )
add = SubmitField ( ' Add ' , field_args = dict ( class_ = ' btn btn-success ' ) )