Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
f48b126d
Unverified
Commit
f48b126d
authored
Mar 13, 2019
by
Serge S. Koval
Committed by
GitHub
Mar 13, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1825 from nathan-steyer/fix-mongoengine-model-converter
Fix bug in mongoengine model converter
parents
0c4d2c9f
ef8e9e52
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
3 deletions
+25
-3
form.py
flask_admin/contrib/mongoengine/form.py
+5
-1
validators.py
flask_admin/form/validators.py
+16
-0
helpers.py
flask_admin/helpers.py
+4
-2
No files found.
flask_admin/contrib/mongoengine/form.py
View file @
f48b126d
...
...
@@ -7,6 +7,7 @@ from flask_mongoengine.wtf import orm, fields as mongo_fields
from
flask_admin
import
form
from
flask_admin.model.form
import
FieldPlaceholder
from
flask_admin.model.fields
import
InlineFieldList
,
AjaxSelectField
,
AjaxSelectMultipleField
from
flask_admin.form.validators
import
FieldListInputRequired
from
flask_admin._compat
import
iteritems
from
.fields
import
ModelFormField
,
MongoFileField
,
MongoImageField
...
...
@@ -74,6 +75,9 @@ class CustomModelConverter(orm.ModelConverter):
kwargs
[
'validators'
]
=
list
(
kwargs
[
'validators'
])
if
field
.
required
:
if
isinstance
(
field
,
ListField
):
kwargs
[
'validators'
]
.
append
(
FieldListInputRequired
())
else
:
kwargs
[
'validators'
]
.
append
(
validators
.
InputRequired
())
elif
not
isinstance
(
field
,
ListField
):
kwargs
[
'validators'
]
.
append
(
validators
.
Optional
())
...
...
flask_admin/form/validators.py
0 → 100644
View file @
f48b126d
from
flask_admin.babel
import
gettext
from
wtforms.validators
import
StopValidation
class
FieldListInputRequired
(
object
):
"""
Validates that at least one item was provided for a FieldList
"""
field_flags
=
(
'required'
,)
def
__call__
(
self
,
form
,
field
):
if
len
(
field
.
entries
)
==
0
:
field
.
errors
[:]
=
[]
raise
StopValidation
(
gettext
(
'This field requires at least one item.'
))
flask_admin/helpers.py
View file @
f48b126d
...
...
@@ -45,13 +45,15 @@ def get_url(endpoint, **kwargs):
def
is_required_form_field
(
field
):
"""
Check if form field has `DataRequired` or `InputRequired` validators.
Check if form field has `DataRequired`, `InputRequired`, or
`FieldListInputRequired` validators.
:param field:
WTForms field to check
"""
from
flask_admin.form.validators
import
FieldListInputRequired
for
validator
in
field
.
validators
:
if
isinstance
(
validator
,
(
DataRequired
,
InputRequired
)):
if
isinstance
(
validator
,
(
DataRequired
,
InputRequired
,
FieldListInputRequired
)):
return
True
return
False
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment