I just want to make sure that I am not missing anything. The use of the Phone or Email component (and/or corresponding properties on the data grid) have no influence over the way the data entered is “masked”, correct?
I was kind of hoping that a Phone component would enforce something like:
(###) ###-####
Similarly, an Email component would enforce something like:
###@###.###
Thoughts? Thank you.
You’re not missing anything. There is no real validation other than a Number Entry only allowing numbers and the Date/Time Pickers only allowing dates. I think specifying an Entry type might help establish the type of column for use in other parts of the app, but most importantely, it helps determine which type of keyboard displays on a mobile device. For example, an text entry gives you a full keyboard. Phone entry will only show the phone keypad. Number entry will show a numeric calculator type keypad.
Stricter validation would be nice, or the ability to build RegEx to control the entry. I do have one odd case though where I actually add words to phone numbers in my app, so I can further specify if the number is a work, cell, home, parent, child, etc phone number. It works great because my phone will ignore non-numbers, but if I had to, I could still use a text entry componenet.
Long story short. There is no masking or validation currently.
FWIW, I have this workaround that uses a combination of regex (generated with the help of ChatGPT) and Glide text hints to inform the user what a valid format should look like:
-
[Data Editor] Create a column in the Customers data sheet, e.g.
Phone Number Valid
, of this type: Other ➝ Experimental ➝ Text ➝ Check Text Matches. Set the column to your regex pattern, e.g^\+(?:[0-9] ?){6,14}[0-9](?: ?[0-9]){0,10}$
-
[Layout] Create a text hint component to display the error/warning message, and tie its visibility condition to the value of the column from step 1
Some potential downsides of this workaround:
- It’s difficult to come up with a catch-all regex pattern, since international number formats vary by country/region. However, if the expected values are restricted to a particular region, then it’s easier to apply a stricter regex
- There’s seemingly no way (?) to disable the “Submit” button on the standard Glide form when the validation fails. Most of the related questions I came across are about custom buttons (but ofc, I stand guided):
Correct. The only way to prevent form submission with any sort of advanced validation rules is through the use of a Custom Form.