# Supporting Exclusion and Required Constraints in Attribute Resources

**URL:** <https://discourse.kitware.com/t/supporting-exclusion-and-required-constraints-in-attribute-resources/209>\
**Category:** Design\
**Created:** [December 31, 2018, 8:49pm UTC](https://discourse.kitware.com/t/supporting-exclusion-and-required-constraints-in-attribute-resources/209 "2018-12-31T20:49:32Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![dcthomp](https://discourse.kitware.com/user_avatar/discourse.kitware.com/dcthomp/32/10_2.png) [@dcthomp](https://discourse.kitware.com/u/dcthomp)\
**Post date:** [January 18, 2019, 5:47pm UTC](https://discourse.kitware.com/t/supporting-exclusion-and-required-constraints-in-attribute-resources/209/7 "2019-01-18T17:47:30Z")

</div>

> [@Bob\_Obara](#):
>
> **Note that the isUnique condition is still written out instead of adding an exclusion rule to the XML/JSON**.

I’m curious about the reason for this. When we discussed, it sounded like you were leaning toward a separate XML/JSON section for exclusions/pre-requisites.

> [@Bob\_Obara](#):
>
> - Should a program/application not be allowed to disassociate an attribute that would violate the prerequisite condition of the another attribute that is also associated to the persistent object?
> - The same issue exists for deleting an attribute - should the delete fail if it would violate the prerequisite condition?

I am strongly in favor of allowing users to do whatever they want and just showing them the consequences since it can often make interactions easier both in terms of cognitive load and number of clicks required.

---

_[View the full topic](https://discourse.kitware.com/t/supporting-exclusion-and-required-constraints-in-attribute-resources/209)._
