Save forms and fiinished with Required Fields without answered

1. What is the issue? Please be detailed.
Hello everyone. I have a form with many required variables, but at some point it is possible that they (required variables) will not be completed. If I mark the form as finished and want to save it, ODK returns me to the last required variable that was not answered, avoiding sending the data to the server.

There is it possible to avoid this validation?, if not, can you add an option in the configuration form management section that allow avoiding that validation?

Cheers

2. What steps can we take to reproduce this issue?
Make variables/fields as required, answer the first ones and do not answer the following ones. Go to the end and Mark the form as finished and try to save it.

3. What have you tried to fix the issue?

4. Upload any test forms or screenshots below.

Hi @bdra2778,
Welcome to the ODK forum! We're glad you're here. When you get a chance, please introduce yourself on this forum thread.

You can use the relevant attribute to conditionally show questions or entire groups of questions.

Hello @Florian_May, thanks for your quick response.

I forgot to say that I knew the option that you just indicated, sorry for that. But the questionnaire that I am developing is very very extensive (250 questions) and has many jumps of questions and validations to do and it is very difficult and complicated for me (besides tiring, lol) to place these validations in relevant attribute.

There is another option?

Thanks again

250 questions is a lot! Maintaining relevance constraints on this many questions will be hard work - not to mention filling them all out.

What I meant re groups: if you group questions, you can put the relevant attribute on the groups rather than the individual questions. This reduces the number of times you have to paste the relevant attribute.

It's hard to advise further without knowledge of the questionnaire logic.
Can you split up the forms? This could simplify them considerably.

Lastly, while you're developing the form, it's always very insightful to run through the form logic, and later on the implemented form, with a few enumerators with experience in the subject matter. They often are able to give good advice on how the form flows, on wording of labels, help text and so on. I've revised some of my own forms more than 60 times to get them "just right".

Some good reading: https://docs.getodk.org/form-workflows/

2 Likes

Thanks agains,

-Re groups questions:, I did it but as I said, there are many jumps of questions and validations.
-Split up the forms: I cant, there are variables that need to validate from others one in before sections.
-Form logic: I did, all question are validated for a team.

But maybe there is an option to disable such validation in ODK Collect? It would be good that implement this option in Collect if it does not exist.

Regards

Hi @bdra2778 ,

If a question can be blank, maybe it is not required.
If you want to inform enumerators that they are leaving such a question blank, perhaps you could use a trigger/acknowledge.
And only display it if one of your "required" questions is left blank, so that enumerators can save and finish the form knowing that the questions are empty. You could complete it with a calculated list of "should have been answered" questions.

Hello @mathieubossaert

You are rigth, but The problem is the client wants it that way, although we already know in advance that the interviewee can interrupt/withdraw from the interview at any time.

I'm seeing how the trigger works but I don't understand it well. Can you provide a more concrete example?

Regards

I meant that the question is not mandatory in the sense of the xlsform :wink:

here is a very short example :
trigger_acknowledge.xlsx (6,9 Ko)

1 Like

Instead of setting your question or group as "required" , you add a "trigger" question.
You can show it only if the "suppose to be required" question is empty. A message is then displayed telling the user that it is better to answer the question.

1 Like