# Data validation best practices

**URL:** <https://community.glideapps.com/t/data-validation-best-practices/49924>\
**Category:** Ask for Help\
**Created:** [September 22, 2022, 6:15pm UTC](https://community.glideapps.com/t/data-validation-best-practices/49924 "2022-09-22T18:15:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gbdoin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gbdoin/32/41860_2.png) [@gbdoin](https://community.glideapps.com/u/gbdoin)\
**Post date:** [September 22, 2022, 6:15pm UTC](https://community.glideapps.com/t/data-validation-best-practices/49924/1 "2022-09-22T18:15:58Z")

</div>

I have to implement data validation on various form elements. The database is Airtable.

I haven’t seen any obvious features on that front in the product. I’ve browsed the community and found that:

- There is a feature request: [Regex Data Validation Needed] - sorry can’t post more than 2 links().
- There are some workaround like hiding the “Submit” button when a computed field gets out of bounds: [Prevent bookings 6 months or more away (in the editor, not the sheet)](https://community.glideapps.com/t/prevent-bookings-6-months-or-more-away-in-the-editor-not-the-sheet/15213)
- Here, we discuss validating input (phone numbers) with ReGex, seemingly with the “Check Text Matches” field type - I assume this again is used to hide a “Submit” button if it doesn’t match or something?: [RegEx challenge (or just seems that way)](https://community.glideapps.com/t/regex-challenge-or-just-seems-that-way/36138)
- Or even using the “Experimental code” field type: [RegEx Test] - Sorry can’t post more than 2 links().

And then, I understand there might be more possibilities by [using custom forms] - Sorry can’t post more than 2 links() - instead of the default form element.

All in all, I see there are some possibilities here for data validation, but it quite scattered around. I think that good business applications have very good data validation, hence I want to make sure I get data validation in Glide right.

What are best practices around data validation? Since Glide doesn’t have OOTB data validation and that neither does Airtable (except for what’s accepted in different field types by default), what’s a good universal strategy to address data validation on the front-end that as easily maintainable as possible for my future peers that would work on that app?

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [September 22, 2022, 11:29pm UTC](https://community.glideapps.com/t/data-validation-best-practices/49924/2 "2022-09-22T23:29:00Z")

</div>

Best you can do at this point is to create what we like to call “custom forms”

> [@How do I create a custom form?](https://community.glideapps.com/t/how-do-i-create-a-custom-form/25014):
>
> I’m just dropping this here so I have something to refer people to when they ask. This is a simple concept app (copyable), that demonstrates the following techniques: Building custom forms for adding and editing list items (as an alternative to the native forms provided by Glide) Preventing duplicate new entries using [User Specific Columns](https://docs.glideapps.com/all/reference/data-editor/user-specific-columns) and [Relations](https://docs.glideapps.com/all/reference/data-editor/computed-columns/relation-column) Enforcing mandatory input items The use of visibility conditions and user specific booleans to control user flow There is nothing particula…

You can then use “match regex” columns on any of those user specific “form” fields to validate data. The result of those regex columns can serve as conditions as to whether the user can see a button to submit the form.
