Github
request_validator
Python Request(json) Validator
how to install
pip install request_validator
How to use
Imaging you have a json response that get from rest api server and you
must validate response.
sample:
from request_validator.serializers import *
from request_validator.fields import *
class GlossDefSerializer(BaseSerializer):
para = CharField()
gloss_see_also = CharField(many=True, source="GlossSeeAlso")
class GlossEntrySerializer(BaseSerializer):
id = IntField(source="ID")
sort_as = CharField(source="SortAs")
gloss_term = CharField(source="GlossTerm")
acronym = CharField(source="Acronym")
abbrev = CharField(source="Abbrev", required=True, allow_blank=False)
gloss_def = GlossDefSerializer(source="GlossDef")
gloss_see = CharField(source="GlossSee")
class GlossListSerializer(BaseSerializer):
gloss_entry = GlossEntrySerializer(source="GlossEntry")
class GlossDivSerializer(BaseSerializer):
title = CharField()
gloss_list = GlossListSerializer(source="GlossList")
class GlossarySerializer(BaseSerializer):
title = CharField()
gloss_div = GlossDivSerializer(source="GlossDiv")
class SampleSerializer(BaseSerializer):
glossary = GlossarySerializer()
sample_data = {
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": 12,
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
validator = SampleSerializer(data=sample_data)
print('validation status:')
print(validator.is_valid())
print("\nvalidation errors:")
print(validator.get_errors())
print("\nvalidated data:")
print(validator.validate_data())
The above sample output:
validation status:
False
validation errors:
{'glossary': {'gloss_div': {'gloss_list': {'gloss_entry': {'abbrev': ['This field cannot be blank']}}}}}
validated data:
{'glossary': {'title': 'example glossary', 'gloss_div': {'title': 'S', 'gloss_list': {'gloss_entry': {'acronym': 'SGML', 'gloss_term': 'Standard Generalized Markup Language', 'gloss_def': {'gloss_see_also': ['GML', 'XML'], 'para': 'A meta-markup language, used to create markup languages such as DocBook.'}, 'gloss_see': 'markup', 'sort_as': 'SGML', 'id': 12}}}}}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file request-validator-2.0.5.tar.gz.
File metadata
- Download URL: request-validator-2.0.5.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48531ba894a0baa5e9c499f5143b54474e1f21016d1cf07e1fcc012fde770aa8
|
|
| MD5 |
a77787116c9901c220fc78da7ff0ae90
|
|
| BLAKE2b-256 |
2fd88bf4ab5b16e58b3ddbca85771e00fa827dc4662f3a0bf358e782d7c4aab8
|