import re from mongoengine import StringField class RegexField(StringField): def __init__(self, regex, *args, **kwargs): super().__init__(*args, **kwargs) self.regex = re.compile(regex) def validate(self, value, clean=True): if not self.regex.fullmatch(value): self.error('The given string does not match the regex for this field')