In our PowerApps form we have the DisplayMode of our submit button determined by a formula that checks all the mandatory fields have been completed.
If (
And(
Or(DPIAForm.Mode=FormMode.Edit,DPIAForm.Mode=FormMode.New),
Not IsBlank(TitleField.Text),
Not IsBlank(DescOfInitiativeField.Text),
DateRaisedField.SelectedDate <> Date(
1900,
01,
01
),
Not IsEmpty(PersonalDataChoiceField.SelectedItems.Value),
Not IsEmpty(SpecialCatChoiceField.SelectedItems.Value),
Not IsEmpty(ChildrensDataChoiceField.SelectedItems.Value),
Not IsEmpty(CriminalChoiceDataField.SelectedItems.Value),
Not IsEmpty(SourcesOfDataChoiceField.SelectedItems.Value),
Not IsEmpty(NumberOfIndividualDataSubjectsChoiceField.SelectedItems.Value),
Not IsEmpty(LawfulBasisChoiceField.SelectedItems.Value),
Not IsBlank(ProviderField.Text),
Not IsEmpty(NewTechnologyChoiceField.SelectedItems.Value),
Not IsEmpty(DataEvaluatedOrScoredChoiceField.SelectedItems.Value),
Not IsEmpty(DecisionsMadeAutomaticallyChoiceField.SelectedItems.Value),
//Not IsBlank(KindofDecisionsMadeAutomaticallyField.Text),
If(DecisionsMadeAutomaticallyChoiceField.SelectedItems.Value ="Yes", Not IsBlank(KindofDecisionsMadeAutomaticallyField.Text), "" ),
Not IsEmpty(IndividualNotAwareOfPersonalDataCaptureChoiceField.SelectedItems.Value),
Not IsEmpty(DataTransferredOutsideEEAChoiceField.SelectedItems.Value),
Not IsBlank(WhoWillHaveAccessToDataField.Text),
Not IsEmpty(MonitoringIndividualsChoiceField.SelectedItems.Value),
Not IsEmpty(CriminalChoiceDataField.SelectedItems.Value),
Not IsEmpty(MonitoringIndividualsChoiceField.SelectedItems.Value),
Not IsEmpty(DataRetentionPlanChoiceField.SelectedItems.Value),
Not IsBlank(RetentionPlanForPersonalDataField.Text),
Not IsBlank(RetentionPlanForSensitiveDataField.Text),
Not IsBlank(RetentionPlanForChildrensDataField.Text),
Not IsBlank(RetentionPlanForCriminalConvictionDataField.Text),
Not IsEmpty(SupplierDueDiligenceDoneChoiceField.SelectedItems.Value),
Not IsEmpty(GDPRCompliantContractWithAll3rdPartiesChoiceField.SelectedItems.Value),
StatusDataField.Text = "Draft"
),
DisplayMode.Edit,
DisplayMode.Disabled)
the part we are having trouble with is the formula in the middle:
If(DecisionsMadeAutomaticallyChoiceField.SelectedItems.Value ="Yes", Not IsBlank(KindofDecisionsMadeAutomaticallyField.Text), "" ),
here I want to test that if the user has selected "Yes" in the drop-down/choice field ecisionsMadeAutomaticallyChoiceField
and if so, then the field KindofDecisionsMadeAutomaticallyField
must not be blank/empty in order for the Submit button to be enabled...
But I am getting an error Invalid argument type on If(DecisionsMadeAutomaticallyChoiceField.SelectedItems.Value ="Yes"
I have also tried:
If(DecisionsMadeAutomaticallyChoiceField.SelectedItems(1)
so what's the correct way to do this in our formula?
I found the answer is to check that Yes is selected in the following way:
if("Value" in ComboBox.SelectedItems.Value,
Not IsBlank(TextDataField.Text), IsBlank(TextDataField.Text) ),
so in my case the correct formula is:
if("Yes" in DecisionsMadeAutomaticallyChoiceField.SelectedItems.Value,
Not IsBlank(KindofDecisionsMadeAutomaticallyField.Text),
IsBlank(KindofDecisionsMadeAutomaticallyField.Text) ),