diff options
Diffstat (limited to 'venv/lib/python3.9/site-packages/validators/length.py')
-rw-r--r-- | venv/lib/python3.9/site-packages/validators/length.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/venv/lib/python3.9/site-packages/validators/length.py b/venv/lib/python3.9/site-packages/validators/length.py new file mode 100644 index 00000000..d0f91fd3 --- /dev/null +++ b/venv/lib/python3.9/site-packages/validators/length.py @@ -0,0 +1,37 @@ +from .between import between +from .utils import validator + + +@validator +def length(value, min=None, max=None): + """ + Return whether or not the length of given string is within a specified + range. + + Examples:: + + >>> length('something', min=2) + True + + >>> length('something', min=9, max=9) + True + + >>> length('something', max=5) + ValidationFailure(func=length, ...) + + :param value: + The string to validate. + :param min: + The minimum required length of the string. If not provided, minimum + length will not be checked. + :param max: + The maximum length of the string. If not provided, maximum length + will not be checked. + + .. versionadded:: 0.2 + """ + if (min is not None and min < 0) or (max is not None and max < 0): + raise AssertionError( + '`min` and `max` need to be greater than zero.' + ) + return between(len(value), min=min, max=max) |