google / android-fhir

The Android FHIR SDK is a set of Kotlin libraries for building offline-capable, mobile-first healthcare applications using the HL7® FHIR® standard on Android.
https://google.github.io/android-fhir/
Apache License 2.0
458 stars 238 forks source link

Date Picker Constraint Not Enforced on 'Ok' Button Click. #2508

Open AdityaKBhadragond14 opened 1 month ago

AdityaKBhadragond14 commented 1 month ago

Describe the bug In the date picker if there is some constraint which does not allow to select the current date and the user still clicks on "OK" button without selecting any date it still selects the current date as the answer as it is the default to it.

Screen_recording_20240404_153456.webm

Component SDC Gallery app

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior There can be two approaches to solving this:

  1. Disable the "OK" button if the date selected is invalid enable only when the selected date is valid.
  2. Set the default date to the minimum valid date. This way we can reduce the number of clicks the user has to do in order to select a valid date.

Screenshots If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

Would you like to work on the issue? Yes.

AdityaKBhadragond14 commented 1 month ago

@MJ1998 Please check if I have missed anything to add here. Thanks.

MJ1998 commented 1 month ago

I would say disable the calendar popup itself when there is no valid date possible + show an error that there is no valid date. Thanks Aditya.

AdityaKBhadragond14 commented 1 month ago

I would say disable the calendar popup itself when there is no valid date possible + show an error that there is no valid date. Thanks Aditya.

Okay, this will be for the case when the min and max dates are overlapping, right? Also I think going with 2nd solution to solve this issue would be better as you had suggested because this will avoid increasing the number of clicks.

MJ1998 commented 1 month ago

Yes right. I suggested this I would say disable the calendar popup itself when there is no valid date possible + show an error that there is no valid date. only when max < min. The other solution of yours seems correct!

AdityaKBhadragond14 commented 1 month ago

Okay got it.