Apply Survey Submission Values in Dependency Order

  • surveySubmission.create now rejects a value for a field that another submitted answer hides, with survey_form_field_not_found. What happened before depended on the order the keys appeared in: one order returned a success response with that answer silently discarded, the other failed with an HTTP 500. Both now return the same structured error, so an answer is never dropped without telling you.
  • surveySubmission.create now applies submittedValues in dependency order instead of the order the keys are listed in. A value for a field that only appears once another answer is applied is no longer rejected with survey_form_field_not_found.
  • surveySubmission.create now validates the submission against the values it applied. Previously a survey containing a required field could not be submitted, because validation ran against the empty form and reported the required field as missing.
  • surveySubmission.create now lists every unresolvable field path in a survey_form_field_not_found response, rather than a single path. Unknown paths are listed before paths that exist on the form but are still hidden.