This package can validate data provided as payload in request body. This is similar to django forms, but only difference being this works on json data provided throuogh body of a request rather than HTML forms.
-
pip install django-payload-validator
-
pip install -e git+https://github.com/gladsonvm/django_payload_validator.git#egg=django_payload_validator
class TeamCreateView(BaseValidatorView):
model = <model>
validation_rule = <validation_rule>
class TeamCreateView(BaseValidatorView):
model = Team
validation_rule = create_team
-
- A validation rule defines all fields those are meant to be validated.
- Validation rule is a dictionary which defines
- fields
- all fields those are meant to be validated as a dict. Each fields must define its
type
. If a field is mandatory, then setrequired
param to true in field declaration.
- all fields those are meant to be validated as a dict. Each fields must define its
- auto populated fields
- Fields those are not obtained from request data and must be updated in database.
- excluded fields
- Fields that should not be displayed in response.
- fields
example:
create_team = { 'fields': { 'name': {'type': str, 'required': True}, 'description': {'type': str, 'required': True}, 'team_type': {'type': str, 'required': True, 'allowed_values': ['tech', 'management', 'business', 'marketing']}, 'members': {'type': list} }, 'auto_populate_fields': {'created_by': 'request.user', 'last_updated_by': 'request.user'}, 'excluded_fields': ['members'] }