cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Entering a SSN has never been solved

If anyone has a simple solution that will allow the user to enter a social security number and have it automatically add the "-" please let me know.

 

I don't believe this has ever been solved.  @mdevaney posted a solution that works for US phone numbers, but this solution is very complicated for what it does and the killer of it is it won't allow for a number that starts with a 0, which some social securities do.

 

Therefore, I'm wondering does everyone else just have the users either:

A.  Enter just the number

Or

B. Enter it as text and required them to type the hyphens.

 

I've searched and if there is a simple way to do this without sliders, timers, etc. I would LOVE to see it posted here.  The fact that PowerApps doesn't support Input masking as a property is a big miss by MS.  The fact that it hasn't been fixed is sad.

 

Thanks!

3 ACCEPTED SOLUTIONS

Accepted Solutions

Wait I might have figured it out?

 

So, its definitely a strange way to do it. But no timers or sliders or anything.

 

Definitely needs some variables that have to get reset after each social that you add.

 

So you take a Text Input control (using modern) and set the following properties:

MaxLength = If(gvarFormatted = "", 9, 11)
DelayOutput = true
Value = gvarFormatted
OnChange = 
Set(
    gvarFormat,
    true
);
If(
    Len(Self.Value) = 9,
    Set(
        gvarFormatted,
        Concatenate(
            Left(
                Self.Value,
                3
            ),
            "-",
            Mid(
                Self.Value,
                4,
                2
            ),
            "-",
            Right(
                Self.Value,
                4
            )
        )
    )
)

 This way if you slowly input the social the field doesn't bug out cause it'll wait till it sees 9 numbers. Then it formats it and that changes the MaxLength to account for the dashes.

Couple digits

leonsig93_1-1717643865450.png

then the time it took me to screenshot and paste it over here and add the last 4

leonsig93_2-1717643901444.png

You just need to add a button or something that has this in it:

OnSelect = Set(gvarFormat, false);Set(gvarFormatted, ""); Reset(txtSocial_Input_1)

txtSocial_Input_1 is just the name of my Text Input. 

View solution in original post

@subsguts 

This video gives some further ideas

https://www.youtube.com/watch?v=povxwFZ4yik

 

Using it, I got this working - which isn't quite there

// Add a TextInput
// Format
Text

// Default
varTempTextInput

// OnChange
UpdateContext({varTempTextInput: Text(Value(Self.Text), "0##-##-####")})

 

This can solve the '0' issue you mention but needs some work to manage number of values entered.

 

Hope it can help?

 

 

 

 


If my response solves your question, please accept as a solution.
Thank you!

View solution in original post

@subsguts ,

You did not mention that the field was in a Gallery - you will need to Patch each record as you write it to the data source of the Gallery and then have the Default

Coalesce(
   ThisItem.YourSSNFieldName,
   varSSN
)

 

View solution in original post

14 REPLIES 14
WarrenBelz
Most Valuable Professional
Most Valuable Professional

Hi @subsguts ,

One way would be to do the following - set the format to Text and DelayOutput to true then OnSelect as well as on the end of your save code (and anywhere else you need to reset it)

UpdateContext({varSSN: Blank()})

Default

varSSN

If this is in a Form and you want to also show the current value

Coalesce(
   varSSN,
   ThisItem.YourFieldName
)

OnChange

If(
   IsNumeric(Self.Text) && Len(Self.Text) = 9,
   UpdateContext(
      {
         varSSN: Left(
            Self.Text,
            3
         ) & "-" & Mid(
            Self.Text,
            4,
            2
         ) & "-" & Right(
            Self.Text,
            4
         )
      }
   );
   Reset(Self)
)

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

MVP (Business Applications)   Visit my blog Practical Power Apps

Do you need it to get formatted as they input it or just need it formatted in your dataset?

 

I managed to get something simple, though not as fancy as the auto-format. Also not sure if this is what your looking for/if it would work.

 

I set up two fields, one text input and then a text label.

In the text input just set MaxLength to 9, set a the OnChange property to Set(gvarFormat, true) and set DelayOutput to true. Did that to try and somewhat simulate the auto format. gvarFormat is just so the formatted display field doesn't just show --.

 

In the Text control, I set this as the value:

If(
    gvarFormat = false,
    "",
    Concatenate(
        Left(
            txtSocial_Input.Value,
            3
        ),
        "-",
        Mid(
            txtSocial_Input.Value,
            4,
            2
        ),
        "-",
        Right(
            txtSocial_Input.Value,
            4
        )
    )
)

 

So you get this:

leonsig93_0-1717642768787.png

Just gotta reset the gvarFormat to false for the next social. OnChange can be a bit weird so it might look funky if they type slowly but it'll get the job done. You could even hide the formatted field and just use it for your patch or form control's Update property.. Wit patch, you could just write that formula directly in and just not have the display field.

 

I also sort of got it to be automatic, but it gets real weird if they don't type it all at once. Would probably need to add a timer delay but like you said that also opens up a whole different can of crazy.

 

Wait I might have figured it out?

 

So, its definitely a strange way to do it. But no timers or sliders or anything.

 

Definitely needs some variables that have to get reset after each social that you add.

 

So you take a Text Input control (using modern) and set the following properties:

MaxLength = If(gvarFormatted = "", 9, 11)
DelayOutput = true
Value = gvarFormatted
OnChange = 
Set(
    gvarFormat,
    true
);
If(
    Len(Self.Value) = 9,
    Set(
        gvarFormatted,
        Concatenate(
            Left(
                Self.Value,
                3
            ),
            "-",
            Mid(
                Self.Value,
                4,
                2
            ),
            "-",
            Right(
                Self.Value,
                4
            )
        )
    )
)

 This way if you slowly input the social the field doesn't bug out cause it'll wait till it sees 9 numbers. Then it formats it and that changes the MaxLength to account for the dashes.

Couple digits

leonsig93_1-1717643865450.png

then the time it took me to screenshot and paste it over here and add the last 4

leonsig93_2-1717643901444.png

You just need to add a button or something that has this in it:

OnSelect = Set(gvarFormat, false);Set(gvarFormatted, ""); Reset(txtSocial_Input_1)

txtSocial_Input_1 is just the name of my Text Input. 

Didn't see this since I had the editor open,  my bad @WarrenBelz  😅

@leonsig93 (I assume you are also @subsguts ,

I did not bother with the MaxLength as it only triggers on 9 numeric characters (I see you have deleted the Numeric test), but yes, the Boolean Variable is another slightly different way of doing it. I am not into Modern Controls at this point, but if it works for you, that is good. I assume this is now solved ?

Hey @WarrenBelz , no I'm a different user. I was writing up my post while testing how to do it and didn't notice you had already replied cause I hadn't refresh the page in a while 😅.

 

Didn't think to add validation to make sure they only input numbers.

Thanks @WarrenBelz and @leonsig93 , I'm just now waking up (different time zone :-)) to all these responses so I'm going to check it out this morning.

@subsguts 

This video gives some further ideas

https://www.youtube.com/watch?v=povxwFZ4yik

 

Using it, I got this working - which isn't quite there

// Add a TextInput
// Format
Text

// Default
varTempTextInput

// OnChange
UpdateContext({varTempTextInput: Text(Value(Self.Text), "0##-##-####")})

 

This can solve the '0' issue you mention but needs some work to manage number of values entered.

 

Hope it can help?

 

 

 

 


If my response solves your question, please accept as a solution.
Thank you!

@WarrenBelz I finally got to try this.  I used the varSSN as the Default to keep it simple to start.  I type in my SSN and when I leave the field it clears it.  I put a label above it and set it to the varSSN, which shows the SSN formatted, but I'm not sure what I did wrong so that it clears the Text Input field.

 

Before I move to the next field:

subsguts_0-1717725753734.png

After I move to the next field:

subsguts_1-1717725829358.png

Any ideas?  Thanks

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,629)