一组基于字符串的验证函数,适用于在其他Python 2和3应用程序中使用。
项目描述
一组基于字符串的验证函数,适用于在其他Python 2和3应用程序中使用。
将这些验证函数传递一个字符串,如果验证失败,则抛出ValidationException。否则,它们返回验证字符串的柏拉图式值(即,validateInt(‘42’) 返回 int 42)。
安装
pip install pysimplevalidate
关于
PySimpleValidate提供了一些函数来执行常见的输入验证。此模块中的validate*函数接受一个value参数,如果它未通过验证,则抛出ValidationException。
如果value有效,则函数返回。返回值是验证函数接受的值的形式。这可能包括任何转换,例如从两端去除空白。
此模块实现了以下(希望是自我描述的)验证函数
validateNum()
validateInt()
validateFloat()
validateChoice()
validateDate()
validateTime()
validateDatetime()
validateRegex()
validateRegexStr()
validateEmail()
validateURL()
validateYesNo()
validateState()
validateMonth()
validateDayOfWeek()
validateDayOfMonth()
这些验证函数有以下共同参数
value: (str) 被验证的值。
blank: (bool) 如果为False,则空字符串被视为有效。默认为False。
strip: (bool, str, None) 如果省略或为 None,则从值中删除空白字符。如果为字符串,则从值中删除该字符串的字符。如果为 False,则不删除任何内容。
allowlistRegexes: (Sequence, None) 将明确通过验证的正则表达式字符串的序列。默认为 None。
blocklistRegexes: (Sequence, None) 将明确失败验证的正则表达式字符串的序列或 (regex_str, response_str) 元组。默认为 None。
此外,基于文本的验证器有以下共同参数
caseSensitive (bool): 如果为 True,值必须匹配可接受响应的确切大小写。如果为 False,则可以使用任何大小写。默认为 False。
快速入门
如果传递给 PySimpleValidate 验证函数的值未通过验证,则将引发 ValidationException。否则,返回值的一个清理版本。
建议使用较短名称 pysv 导入 PySimpleValidation。
>>> import pysimplevalidate as pysv >>> pysv.validateStr('I have a cat', allowlistRegexes=['caterpillar', 'cat(.*?)dog'], blocklistRegexes=['cat', 'm(o){2:}se']) Traceback (most recent call last): ... pysimplevalidate.ValidationException: This response is invalid. >>> pysv.validateStr('I have a caterpillar', allowlistRegexes=['caterpillar', 'cat(.*?)dog'], blocklistRegexes=['cat', 'm(o){2:}se']) 'I have a caterpillar' >>> pysv.validateStr('I have a cat and a dog', allowlistRegexes=['caterpillar', 'cat(.*?)dog'], blocklistRegexes=['cat', 'm(o){2:}se']) 'I have a cat and a dog' >>> pysv.validateStr('I have a mooooose', allowlistRegexes=['caterpillar', 'cat(.*?)dog'], blocklistRegexes=['cat', 'm(o){2:}se']) 'I have a mooooose' >>> pysv.validateNum('42') 42 >>> pysv.validateNum('twelve') Traceback (most recent call last): ... pysimplevalidate.ValidationException: 'twelve' is not a number. >>> >>> pysv.validateNum('5', lessThan=10) 5 >>> pysv.validateFloat('4') 4.0 >>> pysv.validateFloat('4.12') 4.12 >>> pysv.validateInt('4.12') Traceback (most recent call last): ... pysimplevalidate.ValidationException: '4.12' is not an integer. >>> pysv.validateChoice('cat', ['dog', 'cat', 'moose']) 'cat' >>> pysv.validateChoice('CAT', ['dog', 'cat', 'moose']) 'cat' >>> pysv.validateTime('12:00:01') datetime.time(12, 0, 1) >>> pysv.validateTime('hour 12 minute 00', formats=['hour %H minute %M']) datetime.time(12, 0) >>> pysv.validateEmail('al@inventwithpython.com') 'al@inventwithpython.com' >>> pysv.validateURL('https://inventwithpython.com') 'https://inventwithpython.com' >>> pysv.validateYesNo('y') 'yes' >>> pysv.validateYesNo('NO') 'no' >>> pysv.validateState('California') 'CA' >>> pysv.validateState('TEXAS') 'TX' >>> pysv.validateState('NY') 'NY' >>> pysv.validateDayOfWeek('mon') 'Monday' >>> pysv.validateDayOfWeek('FRIday') 'Friday' >>> pysv.validateDayOfMonth(29, 2004, 2) 29 >>> pysv.validateDayOfMonth(31, 2019, 10) 31 >>> pysv.validateDayOfMonth(31, 2019, 9) Traceback (most recent call last): ... pysimplevalidate.ValidationException: '31' is not a day in the month of September 2019
项目详情
PySimpleValidate-0.2.12.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 645d24bdca17ad4c40658f3aa0bd5c1aa1688ba0c02ba75c5ed2cb3b8abaaa19 |
|
MD5 | 4de8f6a289cf88cecf1a072dcd886d1f |
|
BLAKE2b-256 | 0b548fd99436073dbdbba719e08e1b7e5f3f36a8cc9e518612e1b97e4806d2ce |