summaryrefslogtreecommitdiffstats
path: root/venv/lib/python3.9/site-packages/validators/length.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.9/site-packages/validators/length.py')
-rw-r--r--venv/lib/python3.9/site-packages/validators/length.py37
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)