Source code for dict_validator.fields.regexp.slug_field

from dict_validator.fields import String


[docs]class Slug(String): """ Lower case alphanumerics delimited with dashes. >>> from dict_validator import validate >>> class Schema: ... field = Slug() >>> list(validate(Schema, {"field": 'title-of-web-page'})) [] Too many dashes >>> list(validate(Schema, {"field": 'title--of-web-page'})) [(['field'], 'Did not match Regexp(slug)')] Starts with a dash >>> list(validate(Schema, {"field": '-title-of-web-page'})) [(['field'], 'Did not match Regexp(slug)')] Ends with a dash >>> list(validate(Schema, {"field": 'title-of-web-page-'})) [(['field'], 'Did not match Regexp(slug)')] """ def __init__(self, **kwargs): super(Slug, self).__init__( r"^[a-z0-9]+(-[a-z0-9]+)*$",
"slug", **kwargs)