Select to view content in your preferred language

Survey123 User Validation

5336
10
Jump to solution
07-30-2020 12:40 PM
GarrettSmith1
Occasional Contributor

Hello

I am working on a survey that will be used by select volunteers in order to collect field-based data. We were wondering if there is an elegant way to ensure that only the selected volunteers are able to complete the survey? The volunteers are members of the general public and they are not affiliated with the organization that I am working with. From my understanding, if we make the survey public, these volunteers will not need to have and ArcGIS online account and will only need to download the Survey123 app. 

Again, since the survey is going to be public, and we only want to let select volunteers use it, we are looking for a way to ensure that we are only including the validated surveys in our analysis. 

I had a few thoughts but they are messy including assigning each individual a unique code and having them fill that in on a single line of text question at the beginning of the survey. If there is not a matching code, I can filter out those records during data processing. On the other hand, it would be nice if there could be something that would look for unique ids as they are entered and if there are matches it would allow the user to proceed. I am not sure if surveys can be protected via password, but we are are worried that passwords may become widely dispersed within the community. 

Please let me know if anyone has any better or more intuitive ideas. 

Thanks

Tags (2)
0 Kudos
1 Solution

Accepted Solutions
by Anonymous User
Not applicable

Hi @BrittanyBurson @aleecoro,

Yes, this should now be possible when editing a record by using one of the new mode or status pulldata() properties. You can use the pulldata() expression in a relevant statement, to then hide or show following questions based what what or status the form is currently in, or how the form was opened.

Please refer to following documention for more information:

https://doc.arcgis.com/en/survey123/desktop/create-surveys/prepopulateanswers.htm#ESRI_SECTION1_D526...

Regards,

Phil.

View solution in original post

10 Replies
by Anonymous User
Not applicable

Hi Garrett,

Survey123 does not currently support having an unique access code or additional security check for users to validate themselves before continuing to open and complete the survey. This needs to be done at the survey level to avoid the survey being submitted.

Your idea to have a question at the start of the survey that uses a predefined code is on the right track, this is how many other customers have done a similar workflow. In fact you can use the pulldata @ csv function and have a pre-defined csv file in the media folder with all the allowed codes.

Create a first question in your survey and ask "Please enter your access code to continue" and check the code entered using pulldata @ csv to ensure it is valid from the csv list. Then make the following questions of the survey (all other questions in the survey after the first one) relevant based on the code in the first question being valid. Include a constraint so that survey can not be submitted if code is not valid. You can also include a constraint message to say that the code you entered is not valid, you can not continue. If it is valid no message will be displayed and all the remaining questions in the survey will be visible and they can continue as normal.

This will be a good way to stop users filling out the survey if they do not have the correct access code, and you do not need to then go delete the surveys that were submitted that shouldn't have been.

Regards,

Phil.

aleecoro
Emerging Contributor

Hello Phil,

I am following your workflow and it worked! (thank you!). However, I am trying to use the validation to update existing records instead of submitting new surveys. A user would input their validation code and if approved, then the questions and pre-populated answers would appear for them to edit. The validation code would serve as a unique ID to access specific features. Right now, it just provides access to the questions. My survey form is attached.

Thank you!

BrittanyBurson
Frequent Contributor

Also trying to do this. @Anonymous User any suggestions? Thank you

0 Kudos
by Anonymous User
Not applicable

Hi @BrittanyBurson @aleecoro,

Yes, this should now be possible when editing a record by using one of the new mode or status pulldata() properties. You can use the pulldata() expression in a relevant statement, to then hide or show following questions based what what or status the form is currently in, or how the form was opened.

Please refer to following documention for more information:

https://doc.arcgis.com/en/survey123/desktop/create-surveys/prepopulateanswers.htm#ESRI_SECTION1_D526...

Regards,

Phil.

AzizhanKARAOĞLU
New Contributor

Hi @aleecoro 
me to working on a similar process.
I wondered. did you achieve what you wanted?
if you succeed can you share the sample csv and xlsx file?

0 Kudos
aleecoro
Emerging Contributor

Hi @AzizhanKARAOĞLU

I used the pulldata function to validate users and then launched the survey in edit mode with prepopulated answers from a feature popup. 

See the section "Launching an edit web form from a feature popup" in the following link: https://community.esri.com/t5/arcgis-survey123-blog/survey123-tricks-of-the-trade-editing-records-in...

IgorAtamanchuk
Occasional Contributor

Hi, 

It seems like to use pulldata() function you need to expose source layer to the public too, which is not desirable most of the time. 

As a work around you can create a "Password" question at the very beginning of the of the survey, and everything below put in a group. Then (in XLSForm) set the password "constraint" field to the password value (for example: .=1111), this will allow to enter only correct password. Last step, you can set visibility (body::esri:visible) of all the questions in the group to be visible only when correct password is entered (for example:   ${password} = "1111".

Hope this helps.

Igor

AbdulabnanMohammed
Occasional Contributor

@IgorAtamanchuk 

Thank You for the answer..

I'm having similar kind of approach..

Do you have any Sample Form to test..

0 Kudos
IgorAtamanchuk
Occasional Contributor

You are very welcome! I have attached the sample form. Let me know if you have any questions.