Hitting Submit runs, in order:
- Static validation - the form's own
required,min,maxandregexrules. - validate.js - cross-field validation. Stops here if it writes any error.
- process.js - declares the pages, places the layouts and adds blocks.
- Render - the pages are drawn and saved to the shared output folder.
Nothing about a submission is saved except the generated PDF, and a value process.js
computes is baked into it: editing the script later never changes a PDF already made.
Scripts run in a sandbox with no network or file access beyond the project's own files, and are stopped after the Processing time limit.