A MaskedTextBox where the initial value is invalid(e.g. unsanitized data from some source, data saved prior to implementing mask, etc) throws "Uncaught TypeError: Cannot read properties of undefined (reading 'removeClass')" during initialization which breaks the entire page due to the interruption.
Introduced in 2021 R3(2021.3.914) where it "crashes" due to the value being set and the error being triggered *before* the _validationIcon is initialized.
Here are dojo examples showing the problem:
2021.2.616: https://dojo.telerik.com/@Stephen/uVetAFEr: Invalid initial value gracefully initializes the widget and simply doesn't display the invalid value.
2021.3.914: https://dojo.telerik.com/@Stephen/ejOxoqIx: Invalid initial value "crashes" and prevents the rest of the page from initializing.
Greetings
Just upgraded our version from 2022.1.119 to 2022.2.802.
A user just called us that they can't use our maskedtextboxes anymore.
After further inspection it seems the control is now broken when using client side validation, more specifically the maxlength one.
Example: https://stackblitz.com/edit/web-platform-dclrcx?file=index.html
When the length of the mask >= the max length (from the validation), then you can only replace characters. Normal key inputs don't work anymore.
If you look at the example, when you focus the inputfield, you can no longer type in it.
If you were to increase the maxlength validation by one, then the maskedtextbox will work as expected again.
Regards
Hi Team,
I'd like to request the functionality to allow the Kendo UI MaskedTextBox to show specific characters when it is set to type "password". This way, it retains the mask with asterisks, but also displays any characters like hyphens.
Thank you!
1. Navigate to: https://dojo.telerik.com/@PMcDonou/UVIXEPOk
2. Enter a space in maskedtextbox
Result: space is accepted as a valid character
Expected: space should be prevented
Workaround: Use '\u2000' for promptChar instead of space
var value = '5189609249',
mask = '(###) ###-####',
maskedValue = kendo.mask(value, mask),
unmaskedValue = kendo.unmask(maskedValue, mask);
I had a look at the Dojo Demo and made some changes to have prefix to the maskedtext. But on the first load if there are no match to the masked Text in this example an empty string , the prefix does not appear until unless clicked on the input. This causes a problem because the input should have the prefix regardless of any event occurring on it., and not null
Is there any way I can have the input populated with the prefix on load if the value has no match in masked text.
http://dojo.telerik.com/UbiWAPAV/2
Lets take the Credit Card Input on the Example-Page: It's prefilled with 1234 1234 1234 1234 When my Number is 1234 1299 1234 1234 i don't want to type it all again, but i set my focus behind the second 2 and start Typing 99 focus: 1234 12|34 1234 1234 value after typing: 1234 1299 3412 3412 expected value: 1234 1299 1234 1234 The MaskedTextbox seems to insert typed characters and push every other input down in the Mask. But since i am having a Mask when i move to a position, i want to overwrite that single place - leaving the rest of the input intact.
The read-only property available on most kendo input fields isn't obvious enough for the end user that a field is disabled. It is a source of confusion as it makes the form look broken rather than read-only. Adding k-state-disabled is important from a form readability perspective, thus it would be very helpful if that class was made available on dropdown lists and masked textboxes so they match the textboxes on forms without having to selectively apply additonal CSS.
Date/DateTime/Time pickers need to have a mask automaticly for the date format entered currently users need to type the "/" instead of a mask "__/__/____" like in telerik ajax. I know there is this link http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/datepicker/how-to/masked-date-picker-grid With a solution but this is a workaround and not a built in solution supported by telerik.
Given a pattern of "90:00", if someone types '2:' it will presently reject the ':' What would be better is a pattern of "9?0:00" where the '?' indicates an optional character. Then if someone types "2:" it could recognize the optional character and automatically insert a space. The same would apply for dates, e.g. "00/00/0000", would become "0?0/0?0/0000" and then you could type "2/4/2015" and it would insert the spaces The benefit of this is that the user can see what format is expected but can also type in a faster manner
For certain web pages that require editing speed while using masked input controls, it slows down data entry when a user clicks on a masked input expecting the text cursor to be where they clicked when instead it highlights the entire text box.
Instead of only supporting single character masks, I suggest support be added for group masks. Example: $("#time").kendoMaskedTextBox({ mask: "HH:MM TT", rules: { "HH" : /^(([0]?[1-9])|([1][0-2]))/, "MM": /(([0-5][0-9])|([1-9]))/, "TT": /[AaPp][Mm]$/ } }); or $("#time").kendoMaskedTextBox({ mask: "t", rules: { "t" : /^(([0]?[1-9])|([1][0-2])):(([0-5][0-9])|([1-9])) [AaPp][Mm]$/ } });
Method to modify mask in MaskedTextbox