cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Spikyface
Advocate I
Advocate I

Validate current address using Power Automate

I'm building a model driven app which links a person record to multiple contact address records (1:N)

 

However there should only ever be one current address for each person, which is a Yes/No choice field on the Contact record

 

I tried using business rules to enforce this validation but it doesn't seem flexible enough to do this, is it possible to use Power Automate or something else to enforce this kind of validation?

 

It needs to include validation for both changes made from the form and via Excel import

 

Maybe I'm missing something obvious, any help is appreciated

1 ACCEPTED SOLUTION

Accepted Solutions

In the end I had to use Power Automate for this app and had a flow which triggered on setting the Current Address flag to Yes, it sets Current Address to No for all other address records for that person if they have more than one address

View solution in original post

7 REPLIES 7
rubin_boer
Super User
Super User

hi @Spikyface what does your data looks like? you have a person record which have a current address - i assume that these do not allow duplicate current addresses. Are you then try to see from the other datasources whether mor e than one address exists for a person? 

 
hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.

Hi @rubin_boer 

 

It's even simpler than that, I only want the user to be able to select a single address as current for a person

 

The person record has person id, title, forename, surname, membership cost

 

The contact record has a lookup to the person record Address Line 1, Address Line 2, Town, Zip code and a yes/no field for current address

 

At the moment, there's nothing stopping a user from creating 3 contact records which are related to the same person and marking the current address field as Yes for all of them (which makes no sense, how can a person have 3 current addresses?!)

rubin_boer
Super User
Super User

hi @Spikyface ok lets see if i get you. i assume the lookup is done by person id. based on your last paragraph your problem is as such:

 

Button OnSelect

ClearCollect(_Person,{person_id:0 ,title: "Mr", forename: "Jack", surname:"Black", membership_cost: 50});

rubin_boer_0-1614081842927.png

The user can then add contact, but the problem is they can add it more than once and the yes representing the current address. they can add many

rubin_boer_1-1614081947929.png

on the contained will button a check is added to see if the user can add an enntry, iof theuser already have a current address they wont be allowed to add a record.

Set(_CanUpdate,If(CountRows(Filter(_Contact,And(person_id=0,CurrentAddress = "yes")))=0,true,false));

If(_CanUpdate, Collect(_Contact,{person_id: 0, AddressLine1:"Here" , AddressLine2: "There", Town: "Some Town", ZipCode: 5555, CurrentAddress: "yes"}));

 

I hope that help

 
 
hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.
Spikyface
Advocate I
Advocate I

@rubin_boer would that work even on a model driven app?

 

I've not used any validation like that so far, I thought that kind of functionality was limited to canvas apps

rubin_boer
Super User
Super User

hi @Spikyface  yes it will

hey there if you liked the post give it a thumbs up, and if it solved your question please accept it as a solution.
Spikyface
Advocate I
Advocate I

Sorry @rubin_boer I've tried for a long time to wrap my head around where to put this code but I can't figure it out. I know it's example code and I need to take the idea and implement it appropriately in my app but I don't know where to put it or exactly what I'm looking at. Is it an event handler? Is it a custom script I need to reference? Or something else entirely?

 

Set(_CanUpdate,If(CountRows(Filter(_Contact,And(person_id=0,CurrentAddress = "yes")))=0,true,false));

If(_CanUpdate, Collect(_Contact,{person_id: 0, AddressLine1:"Here" , AddressLine2: "There", Town: "Some Town", ZipCode: 5555, CurrentAddress: "yes"}));

 



To give you an idea of my level of experience in this area, I'm not even sure which form library to use to add an event handler to a form or control, or how to work out which form library is appropriate (assuming it's even code for an event handler)

 

Also, if it's on a form or control, it won't prevent validate or prevent changes that are made using Excel import right?



The form I have looks like this if it's any help, for some reason the Current Address toggle looks a bit strange in the editor but it renders fine when the app is run

Screenshot 121241.png

 

 



In the end I had to use Power Automate for this app and had a flow which triggered on setting the Current Address flag to Yes, it sets Current Address to No for all other address records for that person if they have more than one address

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Top Kudoed Authors
Users online (1,723)