Hello,
I'm very new to PowerApps and I'm really struggling with the If statements. I want to ensure that the users answer all of the mandatory questions before navigating to the next screen. My current OnSelect function on the next button is:
If(IsEmpty(DataCardValue42.SelectedItems),
If(IsEmpty(DataCardValue44.SelectedItems),
If(IsEmpty(DataCardValue43.SelectedDate),
Notify("You need to answer all mandatory questions",NotificationType.Error),Navigate(SignUp_Work,ScreenTransition.Cover))))
For some reason, it doesn't work, and I really don't understand how to write the best multiple If statements. Can anyone guide me?
Thanks,
Solved! Go to Solution.
@Anonymous
Seems like you could just use Or, ie
If(
IsEmpty(DataCardValue42.SelectedItems) ||
IsEmpty(DataCardValue44.SelectedItems) ||
IsEmpty(DataCardValue43.SelectedDate),
Notify("You need to answer all mandatory questions",NotificationType.Error),Navigate(SignUp_Work,ScreenTransition.Cover))
If(IsEmpty(DataCardValue42.SelectedItems),
If(IsEmpty(DataCardValue44.SelectedItems),
If(IsBlank(DataCardValue43.SelectedDate),
Notify("You need to answer all mandatory questions",NotificationType.Error),Navigate(SignUp_Work,ScreenTransition.Cover))))
Can you try this?
@Anonymous
Seems like you could just use Or, ie
If(
IsEmpty(DataCardValue42.SelectedItems) ||
IsEmpty(DataCardValue44.SelectedItems) ||
IsEmpty(DataCardValue43.SelectedDate),
Notify("You need to answer all mandatory questions",NotificationType.Error),Navigate(SignUp_Work,ScreenTransition.Cover))
The way I handle this is by using a counter. Each time a required field is changed to a non-blank I increment the counter. Each time a required field is changed to a blank value I decrement the counter. then use a single If that checks to see if the counter is equal to or greater than the number of required fields on the screen to enable the submit button.
Many thanks @Anonymous I see that it is very similar to Power BI actually. I don't understand why I failed.
This is a great idea! @Pstork1 I'm quite new to PowerApps as I mentioned (It's my 3rd week), can you guide me with that? Although I've received an answer to my question, it'd be nice to learn this method, as I've quite a lot of mandatory fields in another form.
Thank you
For each required field put an IF() in the onChange event to increment a variable counter if the value is not blank or decrement the counter if it is blank.
Set the displayMode of the submit button to disabled if the counter is not equal to or greater than the number of required fields on the screen.
User | Count |
---|---|
260 | |
109 | |
93 | |
57 | |
41 |