Hi all, I'm developing a public-facing survey in Survey123 Connect intended for use in a web browser. The workflow involves users entering their address, which is then matched against a lookup CSV using pulldata(). To ensure consistent matches regardless of how users type their address, I need the input to be normalized by converting the input to uppercase and trimmed of any extra whitespace before the lookup runs.
I was able to accomplish this using pulldata("@javascript"), but I found out that JavaScript functions are not supported in public web forms. I've since explored every alternative I can find:
- upper() — not supported by Survey123's XLSForm validator
- translate() — also fails validation
- normalize-space() — not in Survey123's supported function list
- body::esri:inputMask — not viable here since street names vary in length
At this point it seems like there is no native formula-based workaround for converting user input to uppercase in a public web form. My options appear to be either instructing users to manually type in uppercase (poor UX) or rebuilding the CSV to handle case-insensitive matching somehow — neither of which is a clean solution.
My questions for the community:
1. Has anyone found a supported workaround for this in a public web form context?
2. If not, is this something worth submitting as an enhancement request to Esri? It feels like a gap that affects anyone trying to do text-based CSV lookups in public web forms.
Any guidance appreciated. Thanks!