Debugging form errors
Whenever you save your form in the online form designer – or upload your spreadsheet form definition to the server – it is converted into an internal XML format and then checked for certain types of errors. If an error check fails, you will be alerted with an error message and you will be unable to deploy your form.
Some of the upload errors may seem cryptic, so troubleshooting can take some care and patience. (We're sorry, and we're always working to improve this!) Some suggestions:
- Scroll to the top of the error message, and look for clues about the nature of the error. In most cases, the error is associated with one of your fields, and the name of that field will be listed.
- Use the search feature in the online form designer, in Excel, or in Google Sheets to find the source of the error. For example, if the error says that a certain field name cannot be found, search for that name to see where it is referenced, then fix that reference (it was probably just a small typo in an expression).
- If you're editing the spreadsheet form definition directly, double-check your field types to make sure that you don't have a typo in one of them. See Core concepts for a list of valid field types.
- Also double-check that there are no spaces or punctuation in any of your field names (in the survey sheet's name column), in any of your choice-list names (in the choices sheet's list_name column), or in your form ID (in the settings sheet's form_id column).
- Most errors are caused by typos in expressions. We recommend that you create your expressions by using the online form designer, or by using Build constraint, Build relevance, and Build calculation tools available in the Design tab's Your forms and datasets section. To confirm that a particular expression is causing an error, you can delete it from your form, then re-try the upload; if it uploads without errors, then you know that you need to correct that expression.
- To positively identify the source of an error, you can always back up your form, then iteratively trim parts of the form, re-trying the upload every time you trim something new. When an upload works, you know that the problem was in the last part trimmed.
You will be able to find and fix any error, but it may require some systematic troubleshooting. With each new SurveyCTO release, we seek to make errors a bit more clear and troubleshooting a bit less laborious. Suggestions are always welcome.