cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Spikyface
Helper I
Helper 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? 

 

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

 
 
Spikyface
Helper I
Helper 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

Spikyface
Helper I
Helper 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

View solution in original post

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

Power Apps Community Call

Monthly Power Apps Community Call

Did you miss the call?? Check out the Power Apps Community Call here!

secondImage

Experience what’s next for Power Apps

See the latest Power Apps innovations, updates, and demos from the Microsoft Business Applications Launch Event.

Power Platform ISV STudio

Power Platform ISV Studio

ISV Studio is the go-to Power Platform destination for ISV’s to monitor & manage applications post-AppSource publish.

Top Solution Authors
Top Kudoed Authors
Users online (54,883)