Closed vocabularies for the tag input type still allow custom values as long as there's a suggestion present

Open
#6,332 0 comments 1 reaction 1 assignee View on GitHub

Maintainers usually reply within 1 day

@jensvannerum is already working on this.

Since Oct 6, 2026.

Assessment

This issue has not been assessed yet.

Description

affects: 10.x affects: 8.x affects: 9.x affects: main bug claimed: Atmire component: controlled vocabulary component: submission

Describe the bug

Even when a vocabulary is closed, if you use the tag input type for it, your input will always be appeneded to the list as a 'suggestion', allowing you to submit any value (as long as your input causes a suggestion to show).

To Reproduce

  1. Set any field up in the back end's submission-forms.xml to use a vocabulary with closed=true and input type tag e.g:
                <field>
                    <dc-schema>dc</dc-schema>
                    <dc-element>subject</dc-element>
                    <dc-qualifier></dc-qualifier>
                    <repeatable>true</repeatable>
                    <label>Subject Keywords</label>
                    <input-type>tag</input-type>
                    <hint>Enter appropriate subject keywords or phrases.</hint>
                    <required></required>
                    <vocabulary closed="true">srsc</vocabulary>
                </field>
  1. Start tying a value that appears in the vocabulary, but only partially so that your input is not in the vocabulary
  2. Verify that your input is shown as suggestion at the bottom of the list, you can click it, it's added as a tag and you can save/submit

In the images below you can see how I add "tes" which is NOT in my vocabulary

Image Image Image

Expected behavior

A clear and concise description of what you expected to happen.

I've already got a fix on DSpace 9, so I will claim this issue myself and re-do it against the latest main

Dominant language
TypeScript
Stars
180
Forks
577
Avg merge
2d 1h
Merged PRs (30d)
100

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from DSpace/dspace-angular

All issues in DSpace/dspace-angular

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.