33
44from wtforms .fields import StringField , HiddenField
55from wtforms .fields .html5 import URLField
6- from wtforms .validators import DataRequired , Required , URL
6+ from wtforms .validators import DataRequired , Required , URL , Optional
77from wtforms .widgets import TextArea
88
99
@@ -12,23 +12,23 @@ class ProjectForm(FlaskForm):
1212 tags = StringField ('Tags' )
1313 summary = StringField ('Summary' , widget = TextArea (), validators = [Required ()])
1414 description = StringField ('Description' , widget = TextArea ())
15- uri = URLField ('Home URL' , validators = [Required ()])
15+ uri = URLField ('Home URL' , validators = [Required (), URL () ])
1616
1717 image = FileField ('image' , validators = [
1818 # FileRequired(),
1919 FileAllowed (['jpg' , 'png' ], 'Images only!' )
2020 ])
21- github_repo = URLField ('Github repository URL' , validators = [])
22- youtube_trailer = URLField ('Youtube trailer URL' , validators = [])
23- patreon = URLField ('Patreon URL' , validators = [])
21+ github_repo = URLField ('Github repository URL' , validators = [Optional (), URL () ])
22+ youtube_trailer = URLField ('Youtube trailer URL' , validators = [Optional (), URL () ])
23+ patreon = URLField ('Patreon URL' , validators = [Optional (), URL () ])
2424
2525
2626class ReleaseForm (FlaskForm ):
2727 version = StringField ('version' , validators = [Required ()])
2828 description = StringField ('description' , widget = TextArea ())
29- srcuri = URLField ('Source URL' )
30- winuri = URLField ('Windows URL' )
31- macuri = URLField ('Mac URL' )
29+ srcuri = URLField ('Source URL' , validators = [ Optional (), URL ()] )
30+ winuri = URLField ('Windows URL' , validators = [ Optional (), URL ()] )
31+ macuri = URLField ('Mac URL' , validators = [ Optional (), URL ()] )
3232
3333
3434class FirstReleaseForm (ProjectForm , ReleaseForm ):
0 commit comments