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

Input Mask Custom Control on Model Driven App

This is my first time trying to use a custom control on a model driven app and I'd appreciate some help

 

I'm trying to use the Input mask custom control on a main form OnChange event to validate data entry into a field so that only the number format 0,0,0,0,0, ,0,0,0,0,0 is allowed (e.g. 12345 12345)

 

However when I try to enter data into the field I keep getting an error:

 

Web resource method does not exist: OnChange

Session Id: (Removed)

Correlation Id: (Removed)

Event Name: onchange

Web Resource Name: cc_MscrmControlsDOTInputMaskDOTInputMaskControlFORWARDSLASHInputMaskControlDOTjs

Solution Name: CustomControlsCore

Publisher Name: microsoftdynamics

Time: Sat Oct 10 2020 16:55:57 GMT+0100 (British Summer Time)

 

I think the problem is I don't really know what I should be setting the "Function" field to in the Configure Event window, so I've just tried to use a few different things I've found online but they all give the same error

 

I haven't been able to find any documentation on this custom control (InputMaskControl.js) otherwise I'd be able to make better sense of it

 

Here's how I've got the field and event configured at the moment

 

CustomControlError1.pngCustomControlError2.png

 

Thanks for reading

1 ACCEPTED SOLUTION

Accepted Solutions
Super User III
Super User III

Hi @Spikyface 

The input mask control creates a masked input field where the user can only enter data that matches the format that you specify. Therefore, there's no need to trigger the application of the mask through any event such as OnChange.

In the form designer, you would switch to classic view and you would add your field to the form. You would click the change properties button to bring up the field properties dialog. In the controls tab, you would add the input mask control. You should make sure to check the 'web' radio button against this control once you add it.

In the mask setting, you would enter "00000 00000". This would correspond to the format 12345 12345.

 

timl_0-1602411682431.png

 

 

Here are the acceptable mask characters.

0 – Digit
9 – Digit or space
# – Digit, sign, or space
L – Letter
I – Letter or space
A – Alphanumeric
A – Alphanumeric or space
< – Converts characters that follow to lower case
> – Converts characters that follow to upper case
| – Disables case conversion
\ – Escapes any character, turning it into a literal

 

Here's how the control looks at runtime. As you can see, there are lines that correspond to the mask. The control rejects the keyboard entry of anything other than a number.

timl_1-1602411774887.png

 

View solution in original post

4 REPLIES 4
Super User III
Super User III

Hi @Spikyface 

The input mask control creates a masked input field where the user can only enter data that matches the format that you specify. Therefore, there's no need to trigger the application of the mask through any event such as OnChange.

In the form designer, you would switch to classic view and you would add your field to the form. You would click the change properties button to bring up the field properties dialog. In the controls tab, you would add the input mask control. You should make sure to check the 'web' radio button against this control once you add it.

In the mask setting, you would enter "00000 00000". This would correspond to the format 12345 12345.

 

timl_0-1602411682431.png

 

 

Here are the acceptable mask characters.

0 – Digit
9 – Digit or space
# – Digit, sign, or space
L – Letter
I – Letter or space
A – Alphanumeric
A – Alphanumeric or space
< – Converts characters that follow to lower case
> – Converts characters that follow to upper case
| – Disables case conversion
\ – Escapes any character, turning it into a literal

 

Here's how the control looks at runtime. As you can see, there are lines that correspond to the mask. The control rejects the keyboard entry of anything other than a number.

timl_1-1602411774887.png

 

View solution in original post

@timl thanks so much for your clear and concise answer, I've implemented the input mask in the right way now and it works perfectly!

You're welcome @Spikyface - I'm glad that helped you!

I tried using the Input Mask control and it works great on the form.  I'm using it for formatting phone numbers.  But the data is not saved with the mask, only the numbers are saved with no formatting.  On the subgrid, the data is displayed without the formatting.  Is there a way to get it formatted on the grid as well?

Helpful resources

Announcements
New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

Power Apps Community Call

Power Apps Community Call: February

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

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

Top Solution Authors
Top Kudoed Authors
Users online (14,982)