From de119c89a42d7aee4ea4bf3f7e2e44ac36c20ef6 Mon Sep 17 00:00:00 2001 From: Jiri Kalvoda <jirikalvoda@kam.mff.cuni.cz> Date: Fri, 24 Sep 2021 15:50:55 +0200 Subject: [PATCH] Fields: IntList --- mo/web/fields.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mo/web/fields.py b/mo/web/fields.py index 6dcf435b..85eeb71f 100644 --- a/mo/web/fields.py +++ b/mo/web/fields.py @@ -40,6 +40,20 @@ class Decimal(wtforms.DecimalField): return super(Decimal, self)._value() +class IntList(wtforms.StringField): + list = None + + def __init__(self, label="", validators=None, **kwargs): + super().__init__(label, validators, **kwargs) + + def pre_validate(field, form): + field.list = None + if field.data: + try: + field.list = mo.util.parse_int_list(field.data) + except mo.CheckError as e: + raise wtforms.ValidationError(str(e)) + class Points(Decimal): def __init__(self, label="Body", validators=None, **kwargs): super().__init__(label, validators, **kwargs) -- GitLab