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.1.tar.gz.
File metadata
- Download URL: request-validator-2.0.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70bac13bf7e40d631e11986b9ef23ab5c3740894619bd067f6ba66dfb9fc67f5
|
|
| MD5 |
04cf5bcd3c8c5d5302180990bf800ebe
|
|
| BLAKE2b-256 |
93b342517f1dddc7a7c928ee5fd634e8e39daad9888f72ebcb3047a85290077d
|