Validation#

Survey submissions can be validated in two ways: the Python validator and an external SurveyJS binary. Both are optional and configurable per survey.

Python validation (experimental)#

Enable validation (experimental) enables a Python validation layer that checks submissions against the form schema before storing or running actions. It is useful for basic forms but may reject complex SurveyJS structures.

Payload limits#

Each Survey includes Max size payload (MB). Requests larger than this limit are rejected with HTTP 413 before validation proceeds.

Error responses#

Common error codes returned by @@save-poll include:

  • missing_poll_result

  • invalid_payload

  • request_too_large

  • json_too_large

  • invalid_json

  • missing_form_schema

  • external_validator_missing

  • external_validation_failed

  • external_validator_error

Logging#

Validation emits INFO-level logs with submission size, status, and server-side validation results.