Skip to content

Commit a842dc5

Browse files
committed
Merge pull request #197 from Nobatek/dev_JL_wtforms_InputRequired
Use InputRequired validator instead of Required for required field
2 parents 8bd538e + c50f5f5 commit a842dc5

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

flask_mongoengine/wtf/orm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def convert(self, model, field, field_args):
5959
kwargs['validators'] = list(kwargs['validators'])
6060

6161
if field.required:
62-
kwargs['validators'].append(validators.Required())
62+
kwargs['validators'].append(validators.InputRequired())
6363
else:
6464
kwargs['validators'].append(validators.Optional())
6565

tests/test_forms.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,31 +119,32 @@ class TextPost(BlogPost):
119119

120120
class LinkPost(BlogPost):
121121
url = db.StringField(required=True)
122+
interest = db.DecimalField(required=True)
122123

123124
# Create a text-based post
124125
TextPostForm = model_form(TextPost)
125126

126-
form = TextPostForm(**{
127+
form = TextPostForm(MultiDict({
127128
'title': 'Using MongoEngine',
128-
'tags': ['mongodb', 'mongoengine']})
129+
'tags': ['mongodb', 'mongoengine']}))
129130

130131
self.assertFalse(form.validate())
131132

132-
form = TextPostForm(**{
133+
form = TextPostForm(MultiDict({
133134
'title': 'Using MongoEngine',
134135
'content': 'See the tutorial',
135-
'tags': ['mongodb', 'mongoengine']})
136+
'tags': ['mongodb', 'mongoengine']}))
136137

137138
self.assertTrue(form.validate())
138139
form.save()
139140

140141
self.assertEquals(BlogPost.objects.first().title, 'Using MongoEngine')
141142
self.assertEquals(BlogPost.objects.count(), 1)
142143

143-
form = TextPostForm(**{
144+
form = TextPostForm(MultiDict({
144145
'title': 'Using Flask-MongoEngine',
145146
'content': 'See the tutorial',
146-
'tags': ['flask', 'mongodb', 'mongoengine']})
147+
'tags': ['flask', 'mongodb', 'mongoengine']}))
147148

148149
self.assertTrue(form.validate())
149150
form.save()
@@ -165,6 +166,17 @@ class LinkPost(BlogPost):
165166

166167
self.assertEqual(post.tags, ['flask', 'mongodb', 'mongoengine', 'flask-mongoengine'])
167168

169+
# Create a link post
170+
LinkPostForm = model_form(LinkPost)
171+
172+
form = LinkPostForm(MultiDict({
173+
'title': 'Using Flask-MongoEngine',
174+
'url': 'http://flask-mongoengine.org',
175+
'interest': '0',
176+
}))
177+
form.validate()
178+
self.assertTrue(form.validate())
179+
168180
def test_model_form_only(self):
169181
with self.app.test_request_context('/'):
170182
db = self.db

0 commit comments

Comments
 (0)