diff --git a/mo/web/fields.py b/mo/web/fields.py
index 6dcf435bb14743587d912838110aab4d5b880352..85eeb71fb6655b2f6f2b047968c7d92ee0c949ad 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)