# \[DONE\] Enforce unique entries + Data validation + Required fields

**URL:** <https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966>\
**Category:** Ideas & Features\
**Created:** [December 16, 2024, 12:01am UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966 "2024-12-16T00:01:31Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![petugg](https://avatars.discourse-cdn.com/v4/letter/p/43a26b/32.png) [@petugg](https://community.fibery.io/u/petugg)\
**Post date:** [December 16, 2024, 12:01am UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/1 "2024-12-16T00:01:31Z")

</div>

Hi guys, I’m new here and so far I’m quite impressed with Fibery - it has a huge potential. I did however react to one thing that baffles me: How come we cannot - in an easy way - prevent a field from having duplicate values? My use case is that we want to move our product database into Fibery, but we can’t risk that people add a product and accidentally enter an already existing SKU (we have thousands, so it’s easy to make a mistake). In addition, we have a naming system in place, so data validation would also be very valuable.

I’ve looked around and seen a few workarounds in the forum, but they are overly complicated (call me an idiot, but I would never figure those things out on my own). Anyway, there are definitely ways to make this more intuitive and easy to use. As an example, I attach a screenshot from another database tool I’ve tried (it has other shortcomings though) that has more settings in general for the fields. It is easy to understand, powerful and the UX is just what it needs to be.

Please have a look and take this into consideration. I believe these are crucial features when databases grow large.

PS. You have it implemented in custom icons, where duplicate names are disallowed.

 ![Field settings](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/6/66efc4f8cf101887f34062a943bf51a56e86d3d4.png)

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [December 16, 2024, 7:00am UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/2 "2024-12-16T07:00:41Z")

</div>

Is this duplication of existing topics?

> [@\[PLANNED\] Required fields on the layout](https://community.fibery.io/t/planned-required-fields-on-the-layout/2011):
>
> We have several types, where we need to be sure some fields are not empty. It would be great if we can mark fields as required OR create a validation rule if fields are empty (display an error message).

> [@Validations / automations](https://community.fibery.io/t/validations-automations/7584):
>
> Just saw the monthly update from @mdubakov and it inspired this feature request. The required fields (above) is a good first step in what we’re missing in our workspace, which is what I would call validations. Validation is where a user is not allowed to take certain actions unless another condition is fulfilled. A few examples: Only allow updating to state “done” when “rich text” field is not empty. Only allow creating a todo if the deadline is also entered When disapproving somet…

---

<div class="post-metadata">

**Author:** ![petugg](https://avatars.discourse-cdn.com/v4/letter/p/43a26b/32.png) [@petugg](https://community.fibery.io/u/petugg)\
**Post date:** [December 16, 2024, 1:17pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/3 "2024-12-16T13:17:14Z")

</div>

Hi Chris,  
By the look of it, these two topics should address Data Validation and Required fields. Sorry, I haven’t seen them.

The most important function for me however is “Unique entries” as a **field setting**.

![Field setting](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/b/b79fb6f4602575da83ebddc5755c182127d9c6f5.png)

E.g. say you have an automation set up where an article-number / SKU is the key identifier. If you cannot guarantee that field to have only unique entries, the risk of errors is way too high for me to feel comfortable with.

As for user feedback, here’s how you’ve done it for the custom icons:

 ![custom icon duplicate](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/0/0c6bcc5e81f73ea42cb6368aa2af01583891cdd0.png)

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [December 16, 2024, 1:24pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/4 "2024-12-16T13:24:15Z")

</div>

I understand the issue, but it’s worth pointing out that (unlike when you create/update a custom icon) changes to Fibery entities do not require an explicit ‘save’ action by the user - the data is updated as soon as it is typed.  
This adds complexity to any solution that would be implemented.  
For example, a user types a field value that is a duplicate of an existing value.  
What should happen next? Should they be prevented from leaving the page until they resolve the issue? What if their internet connection is lost at just that moment?  
Of course, these challenges can all be figured out, but suffice it to say, making fields required and/or unique is not a trivial feature to roll out. We are gradually [working on it](https://the.fibery.io/@public/Public_Roadmap/Roadmap-Board-5974#Roadmap_Item/Required-Fields-356) though.

---

<div class="post-metadata">

**Author:** ![petugg](https://avatars.discourse-cdn.com/v4/letter/p/43a26b/32.png) [@petugg](https://community.fibery.io/u/petugg)\
**Post date:** [December 16, 2024, 1:53pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/5 "2024-12-16T13:53:33Z")

</div>

Would it be an idea to autosave the entry but make it inactive until the Unique-field has been entered correctly?

Another approach: Would it be less complicated if you could only have one Unique-field per table? (I am aware you have the autogenerated key field, but that is not very useful if our own values have to be unique)

You are right, the custom icon example is a form field, but I think it’s useful to illustrate the visual feedback you can give to the user.

The link you enclosed is for Required (mandatory) fields. Although Unique entries per se have to be required, a required entry doesn’t have to be unique. These are separate features, but I suppose that’s what you mean when you say gradually - one step at a time.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [December 16, 2024, 2:01pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/6 "2024-12-16T14:01:17Z")

</div>

> [@petugg](#):
>
> make it inactive

I’m not sure what you mean by ‘inactive’. In Fibery, an entity exists or it doesn’t 🤷

> [@petugg](#):
>
> I suppose that’s what you mean when you say gradually - one step at a time.

👍

---

<div class="post-metadata">

**Author:** ![petugg](https://avatars.discourse-cdn.com/v4/letter/p/43a26b/32.png) [@petugg](https://community.fibery.io/u/petugg)\
**Post date:** [December 16, 2024, 2:40pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/7 "2024-12-16T14:40:00Z")

</div>

> [@Chr1sG](#):
>
> I’m not sure what you mean by ‘inactive’. In Fibery, an entity exists or it doesn’t 🤷

I meant that it should exist but in a third state, like a draft of sorts. It would allow you to enter the whole entity, but until fields that are required or unique are correctly entered, that particular entity won’t automatically be included in calculations, lookups, forms, views etc.

Sorry, I’m not familiar with all the technical jargon, but I hope you understand what I mean. From my perspective running a business, when dealing with values that without exception have to be unique (customer numbers, article ids, part numbers etc) this is an extremely important feature.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [December 16, 2024, 2:44pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/8 "2024-12-16T14:44:24Z")

</div>

> [@petugg](#):
>
> I meant that it should exist but in a third state, like a draft of sorts. It would allow you to enter the whole entity, but until fields that are required or unique are correctly entered, that particular entity won’t automatically be included in calculations, lookups, forms, views etc.

It might be a bit odd if an existing entity apparently disappeared from the workspace because someone tried to change its name to a name that was already in use, and didn’t realise.

Anyway, the problem is well understood. It’s just a case of figuring out the optimal implementation given the underlying technical constraints.  
We’ll obviously update this thread when a solution is developed.

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [December 16, 2024, 4:10pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/9 "2024-12-16T16:10:14Z")

</div>

Fibery can do many things “in the background” via Automations and Integrations, including creating new entities, and there is not always a way for those operations to interact with a User, e.g. to warn them about a duplicate field value.

The best that could be done in such a situation is probably to generate an error Notification.

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [January 22, 2025, 10:18am UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/10 "2025-01-22T10:18:07Z")

</div>

Unique field value across the whole database is in plans for Q1 2025

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [December 23, 2025, 1:34pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/11 "2025-12-23T13:34:18Z")

</div>

A post was merged into an existing topic: [[IN DEV] Validations / automations](https://community.fibery.io/t/in-dev-validations-automations/7584/6)

---

<div class="post-metadata">

**Author:** ![RonMakesSystems](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/ronmakessystems/32/14122_2.png) [@RonMakesSystems](https://community.fibery.io/u/RonMakesSystems)\
**Post date:** [March 6, 2025, 8:01pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/12 "2025-03-06T20:01:07Z")

</div>

Adding a request: unique only within the entity. Within the project I want the Project Roles to all be unique from one another. But Project Roles can be can have the same roles, across different projects. Project + Role must be unique. Either alone do not need to be. Not sure if it’s within the scope of the first release. But something to look at seeing as Fibery’s strong point is all around context.

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [March 6, 2025, 9:32pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/13 "2025-03-06T21:32:40Z")

</div>

Ideally we would be able to validate all user inputs with javascript, but I understand the current framework doesn’t support that 😟

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [May 8, 2025, 2:25pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/14 "2025-05-08T14:25:24Z")

</div>

Unique values for fields released today as experimental

> [@May 8, 2025 / New "this week/..." filters, Unique field values (experimental)](https://community.fibery.io/t/may-8-2025-new-this-week-filters-unique-field-values-experimental/8751):
>
> We are back from the Spring holidays season and can finally release something (many large things are in progress still, including permissions things, Gantt View and AI Smart Agent). New filters: is within past/current/next week/month/quarter/year Now you can filter views by past/current/next week/month/quarter/year. It will make your life a little bit easier, since you will no longer have to update manual filters every week/month/quarter/year. Allow only unique values in a Field (exp…

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [December 23, 2025, 1:34pm UTC](https://community.fibery.io/t/done-enforce-unique-entries-data-validation-required-fields/7966/15 "2025-12-23T13:34:51Z")

</div>


