Hi,
I am testing an XLSForm in ODK Collect for a correction workflow.
I have a date question for date of birth. In the form, the constraint only checks that the person is at least 18 years old:
int((today()-.) div 365.25) >= 18
There is no minimum year constraint in the XLSForm.
However, on Android, when opening the date picker, it seems I cannot select years earlier than 1900. For our use case, we may need to register dates of birth for people born before 1900.
I would like to ask:
- Is there any known Android or ODK Collect limitation in the date picker that prevents selecting years earlier than 1900?
- Is this device-specific, Android-version-specific, or an ODK Collect limitation?
- Is there a recommended workaround for cases where dates before 1900 are needed?
- Would using separate fields for year / month / day be the best approach in this case?
What I have tried:
- Verified that the XLSForm itself has no minimum year restriction
- Confirmed the only constraint is age >= 18
- Tested the form on Android through ODK Collect
- The issue seems to be in the date picker UI rather than the XLSForm logic
I can share the XLSForm and screenshots if needed.
Thanks.
1. What is the issue? Please be detailed.
2. What steps can we take to reproduce this issue?
3. What have you tried to fix the issue?
4. Upload any forms or screenshots you can share publicly below.