BoldSignA modern eSignature application with affordable pricing. Sign up today for unlimited document usage!
I attached a solution with an example of my problems, that they are:
Hi Acayon
Query 1: "I can't get the button enabled or disabled when fields are modified."
Thank you for reaching out to us. After investigating your query, we were able to reproduce the issue on our end. We found that the SfButton enabled property was not being properly handled in relation to the Entry fields.
To resolve this, we have implemented the use of the property changed event within the view model class to enable the button. We have prepared a sample file for you, which you can find attached to this message.
Query 2: "The email and phone fields set the value of model with a value that is not valid for the mask when I press a key even if the key is invalid".
We have found that if an invalid key is pressed in the phone or email fields, the value of the model is not set. However, we were unable to reproduce the issue reported issue on our end.
Query 3: "The mask for email do something estrange when I put dots in the server and at the end, I write more than 3 chars. The final dot from the mask dissapears"
I've noticed that when I enter a dot followed by more than three characters, the dot remains visible in the input mask. However, we were unable to reproduce the reported issue on our end.
Query 4: "The HasError property for the SfMaskedEdit component is False when the field is empty but in the model, the value is not empty or null".
Based on our investigation, we have reviewed your query and found that when the field is left empty, the corresponding model value is also empty. However, we were unable to reproduce the reported issue on our end.
Query 5: "I don't know how to do that the value becomes null (or empty) meanwhile the user was typing and the visual text is invalid."
We're having trouble understanding the issue from the information provided. Could you please provide more details and explain the 5th query in more detail? This will help us better understand the problem and provide more accurate support.
Please find attached the videos related to the issue of not reproducing. Could you please review them and let us know if we have missed anything on our end? If possible, could you also provide us with the steps to reproduce the issue along with a sample? This will help us to investigate further and provide you with more details.
Regards,
Ahamed Ali Nishad
Question 1: I understand now how to do it. I would additional ask about what is the better way to do a Button with a Command enable event and to have a model with no implementation of INotifyPropertyChanged.
Question 2: I attached a video to show this problem. In video you can see that it hapends when I press a no valid key (for example the key of character A for phone). En email field it will happens also pressing the equals character key, for example.
But I would tell you that it happens when I press a valid key (number 9 for phone or a A character por email, for example) and the rest of characters are no defined yet. It will generate 9________ for phone and A@_.__ for email and set it to the model. You can see that they are not a valid values for the mask.
Question 3: I attached a video for this problem, but I try to explain this better now:
1. Press A before @ symbol.
2. Press b after @ symbol.
3. Move to end of email mask
4. Move cursor between two "_" characters using with left key
5. Type c, d, e and f keys
6. You can see that the last dot was disappears.
Question 4: As I show you in the video of Question 2, the field in the model is not empty (at least in Visual Studio for Mac and debugging on iPhone 14 Pro Max Simulator). Because of it you can see at the end of the screen of the test App, up the bottom button, some Labels (in StackLayout with Horizontal Orientation). The last Label of each StackLayout show a boolean Value. This value corresponds with the HasError value. Just before of this boolean Value is the value of the model property. You can see that during the are typing email or phone, the boolean value is false until the model value becomes a mask valid value. But if we empty the field, the model value is "like a mask" but the boolean value (the HasError property) becomes false).
Question 5: In this point I becomes to suspect that the normal way to work for this SfMaskedEdit component would null or empty when the value not match with the mask (like the first time before the user press any key), but like in my case the behavior is not like I suspect, and because of I would like just it, that's it: model value null when the typed not match with the mask and only when match, then set the value in the model. And when the user change value value to an invalid value, the property of model becomes null (or empty.
Additionally to this questions I discover new one. When I type in the name field a character with accent (my character set is ISO-8859-1) it happens that the value was not typed property. When I write from empty field and I put the first character with accent, it not set any more in the mode. But if I write a name with no accent character and I type a character in middle, this action change character order and add a space. I attach 2 videos for this behaviors.
Thank you.
Hi Asier,
Query 1: Button with a Command enable event and to have a model with no implementation of INotifyPropertyChanged
Currently, we are validating the reported query and we will let you know the details on March 8th, 2023. We appreciate your patience until then.
Query 2: While typing 9 for phone , it is setting the MainViewModel BindingValue as 9_______
To resolve the above issue, kindly use ValueMaskFormat="ExcludePromptAndLiterals". Here is the code snippet:
<maskededit:SfMaskedEdit x:Name="PhoneEditor" Style="{StaticResource FormPhoneEditor}" Value="{Binding Budget.ContactData.Phone, Mode=TwoWay}" ValueMaskFormat="ExcludePromptAndLiterals"/> |
Query 3: While typing e-mail the last dots are still showing
To resolve the above issue, kindly use ValueMaskFormat="IncludeLiterals". Here is the code snippet:
<maskededit:SfMaskedEdit x:Name="MailEditor" Style="{StaticResource FormEmailEditor}" Value="{Binding Budget.ContactData.Email, Mode=TwoWay}" ValueMaskFormat="IncludeLiterals"/> |
Query 4: The field in the model is not empty
Currently, we are validating the reported query and we will let you know the details on March 8th, 2023. We appreciate your patience until then.
Query 5: SfMaskedEdit component would null or empty when the value not match with the mask
Currently, we are validating the reported query and we will let you know the details on March 8th, 2023. We appreciate your patience until then.
Query 6: Typing with accent in SfMaskedEdit, Not Binding Or Displaying In Text
We have checked your query but the issue is not reproduced from our side. We have attached the sample for your reference. Kindly refer to the sample, and please provide us with more information about the replication steps, along with the NuGet version and iOS version you are using. This will enable us to investigate the issue more thoroughly and provide you with a more effective solution as soon as possible.
Please let us know any other details.
Regards,
Shivani
Thanks for your response, but the proponed solution for the Query 2 and 3 was not as expected. Now it allow to introduce incomplete values not matching fully with the mask and also, for email, shows escaped dots.
I attach a video to show this. The video contains a the keyboard where you can se the keys I pressed.
Thanks.
Attachment: Not_expected_behavior_35592b4b.zip
Hi Asier,
Currently, we are validating the reported query and we will let you know the details on March 13th, 2023. We appreciate your patience until then.
Regards,
Shivani
Hi Asier,
Query 1: Button with a Command enable event and to have a model with no implementation of INotifyPropertyChanged
In your sample, we noticed that you've enabled the button based on certain model values. However, we recommend implementing the INotifyPropertyChanged interface to ensure that the button is properly enabled or disabled in your UI when the model values change. Without this interface, your UI may not reflect the updated state of the model in real-time. Therefore, we suggest incorporating the INotifyPropertyChanged interface for your specific case.
Query 2: The email and phone fields set the value of model with a value that is not valid for the mask when I press a key even if the key is invalid"
Thank you for submitting your video. However, we apologize as we were unable to fully understand your issue based on the video alone. To better assist you, could you kindly provide us with a sample and detailed replication steps to help us understand the problem you're encountering? This would greatly aid us in resolving your issue. Once we receive your additional information, we will thoroughly investigate the issue and provide you with a prompt resolution. Thank you for your cooperation.
Query 3: While typing the email, the invalid symbols are showing
Based on your query, we were unable to reproduce the issue on our end. However, we have attached a sample for your reference. Could you please review the sample and provide us with additional information on how to replicate the issue? This will help us to investigate the issue more thoroughly and provide you with a more effective solution as quickly as possible.
Query 4: The field in the model is not empty based on the HasError property
To display the error text in the SfMaskedEdit control, we need to set the HasError property at the sample level. You can refer to the following link for information on this property:
Please update your sample accordingly and let us know if you require any additional details.
Query 5: SfMaskedEdit component would be null or empty when the value does not match the mask
The Value property displays the raw text entered into the SfMaskedEdit and will not be affected by the Mask and HasError property value. You can refer to the following link for more information about the property:
If you have any further questions or require additional information, please let us know.
Regards,
Shivani
Query 1: Now is clear for me.
Query 2: I try to explain more simply what I expected and what I get:
The Mask for Phone is 000000000 when MaskType is Text but if I use MaskType as RegExp then I use Mask as \d\d\d\d\d\d\d\d\d, and in both cases I get the same result:
Hi Asier,
Sorry for inconvience
Currently, we are validating the reported query with high priority and we will let you know the details on March 20th, 2023. We appreciate your patience until then.
Regards,
Shivani
Hi Asier,
Sorry for Inconvenience
Currently, we are validating the reported query with high priority and we will let you know the details on March 22th, 2023. We appreciate your patience until then
Regards,
Ahamed Ali Nishad
Hi Acayon,
Query 2: When I erase all numbers of phone, the value of model and the Value property of the inputLayout are empty and HasError field is False. Maybe I expect that the HasError field will be True.
To resolve the above issue, we have changed the code in the sample level. The HasError property, which was bound to the label, belonged to SfMaskedEdit, and therefore the changes were not replicated in the label's Text property. So, I simply made changes in the binding source of the label's text.
Query 3 : While typing e-mail the last dot was disappears
Currently, We are validating your query and we will let you know the details on or before March 24, 2023. We appreciate your patience until then.
Query 4 : I added a default text in ErrorText property of SfTextInputLayout components and it is not displayed when the HasError property becomes True. Also I added some DataTriggers and I can't get the specific text to be diplayed when the fields value match with the condition.
Regarding your fourth query, we have changed the code at the sample level. In the PhoneInput Triggers, the Key Value was the same for the two StaticResources "ViewPhoneTriggerNull". Therefore, I changed the Key Value for one of the StaticResources to "ViewPhoneTriggerEmpty". In the EmailInput Triggers, the Key Value is "ViewEmailTriggerEmpty", and the value was set as "Empty". However, the Email Value should never be empty in the format you provided. It should be something like "@." when you erase all in the Email MaskedEdit. So, I simply changed the value to "@.". As a result, the issue mentioned above has been resolved.
Query 5: I don't want to alter the behavior of visual component. Before using the ValueMaskFormat as ExcludePromptAndLiterals for phone and IncludeLiterals for email the model was modified with the visual value (you can see that, for example, the phone becomes "_________" when field is empty insted of "" for the model when the ValueMaskFormat is ExcludePromptAndLiteras).
Based on your query, the phone field displays as "_________" when the model field is empty. By using the ValueMaskFormat property to ExcludePromptAndLiteras, this is the only way it will be rendered. However, we are unable to understand your specific needs. Could you please provide a detailed explanation of what you require?
We have attached the sample . Kindly get the sample from attachement. Please let me know if you need any other details.
Regards,
Ahamed Ali Nishad
Question 2: SOLVED. It is an surprising behavior, but it works with Input.
Question 3: PENDING.
Question 4: SOLVED for phone but SEMI-SOLVED for email. I exepcted the email becomes empty when user delete all characters of field. I detail this better in bellow Question 5.
Question 5:
000000000
d\d\d\d\d\d\d\d\d
I expect that it can support a simple format like email text.1-more_1@domain_1.domain-2.dom
The mask I used is:
[A-Za-z0-9\._%-]+@[A-Za-z0-9\._%-]+\.[A-Za-z]{2,3}
As you can see the email must end in dot and two or three characters between a and z (in upper or lowercase). But in Question 3 I thought I found a bug.
Hi Asier,
Currently, we are working on your current requirements with high priority and we will let you know the details on or before March 28th, 2023. We appreciate your patience until then
Regards,
Vijayakumar V
Hi Asier,
Query 3 : While typing e-mail the last dot was disappears
Currently, we are checking the reported query and we will let you know the details on March 29th, 2023. We appreciate your patience until then.
Query 4 : SOLVED for phone but SEMI-SOLVED for email. I exepcted the email becomes empty when user delete all characters of field.
Currently, we are validating the reported query and we will let you know the details on March 29th, 2023. We appreciate your patience until then.
Query 5 :
1) "The phone field must have exactly 9 digits. Any number of digits less than or greater than 9 is considered an invalid phone number. The email field will also display an error message until the correct format is entered."
We have added "ValidationMode = KeyPress" for both the EmailEditor and PhoneEditor. Based on this ValidationMode, the "HasError" property has also changed. Therefore, we have added a "ValueChangedEvent" and added a condition if the "HasError" property of MaskedEdit is true,then we set the "HasError" property to "true" and displays the "ErrorText" of the PhoneInput and EmailInput (TextInputLayout) . If the "HasError" property of MaskedEdit is false, we set the "HasError" property to "false" and display the default error text of the PhoneInput and EmailInput (TextInputLayout).
2) The phone and email value in model will be null or empty when the field is not a valid format like (phone with less than 9 digits or nor valid email format not valid). I expect to avoid values like "@." or "_@_.__" or "a@b.__" for email and "_________" or "123______" or "123" for phone.
The editors becomes empty (may be when focus was lost). I don't want to show user the field with the mask format (for example If I decide to request user only one of the two fields and user type in one of the field by error and dedided to empty). I told you this because depending on ValueMaskFormat (ExcludePromptAndLiterals or IncludeLiterals), the display and the model value changes.
We added an Unfocused event for both the EmailEditor and PhoneEditor, in which we included a condition. If the phone and email was not in a valid format when unfocused, the phone and email model field value would be null. We also added HidePromptOnLeave = true when unfocusing, so the remaining prompt was not shown to the user.
Kindly get the sample from the attachment. Please let me know if you need any other details.
Regards,
Ahamed Ali Nishad
Hi Asier,
Query 3 :
We have checked your query and thank you for bringing up the issue "While typing more than 3 characters , the invalid symbols are showing and last dot disappears at the end". We have reproduced the issue from our side. We have logged this as a bug report and you can track the status of the bug through the feedback link provided below.
Query 4:
We have checked your query and thank you for bringing up the issue "when user delete all characters of field in email, the value not empty using ValueMaskFormat as ExcludePromptandLiterals also". We have reproduced the issue from our side. We have logged this as a bug report and you can track the status of the bug through the feedback link provided below.
We will share a patch containing the requested behavior on April 12th, 2023. We appreciate your patience until then.
Note: The provided feedback link is private, and you need to log in to view this feedback.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Regards,
Ahamed Ali Nishad
I tested your solution for Question 5 and I can check that works fine now.
I'm waiting for the patch for Question 3 and 4, and then I will test again.
Thank you.
Hi Asier,
Thanks for the update.
As previously mentioned, the Fix for queries 3 and 4 will be provided on April 12, 2023. We appreciate your patience until that time.
Hi Asier,
We have fixed both the reported issues in the query 3 "While typing more than 3 characters , the invalid symbols are showing and last dot disappears at the end" and Query 4 "We have fixed the reported issue "when user delete all characters of field in email, the value not empty using ValueMaskFormat as ExcludePromptandLiterals also".
Kindly get the fixed Assembly and Nuget using the link provided below. If you require any further information, please do not hesitate to let us know. This fix will be included in the last week of April,2023. We appreciate your patience until then.
Assembly version: 21.1.35
Assembly Link: https://syncfusion.com/Installs/support/patch/21.1.35/1531272/F180862/SyncfusionPatch_21.1.35_1531272_4122023054339449_F180862.zip
Disclaimer:
Please note that we have created this patch for version 21.1.35 specifically, to resolve the issue reported in this incident. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Note: Please clear the NuGet cache, before using the latest one.
https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache
Regards,
Ahamed Ali Nishad