Coverage for gws-app/gws/plugin/model_validator/regex/__init__.py: 0%
17 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
1"""Regex validator for strings.
3Validates if the string matches regex. Uses ``re.search``,
4that is, the start anchor must be included if necessary.
5"""
7import re
9import gws
10import gws.base.model.validator
12gws.ext.new.modelValidator('regex')
15class Config(gws.base.model.validator.Config):
16 """Regular expression validator."""
18 regex: gws.Regex
19 """Regular expression to match against the field value."""
22class Object(gws.base.model.validator.Object):
23 regex: str
25 def configure(self):
26 self.regex = self.cfg('regex')
28 def validate(self, field, feature, mc):
29 val = feature.attributes.get(field.name)
30 if not isinstance(val, str):
31 return False
32 m = re.search(self.regex, val)
33 return m is not None