Required Relation Field logo

Required Relation Field

By Teguru Co., Ltd

Enforces required relation fields in Strapi to be non-empty on save or publish

Latest version

v0.3.1

released October 15, 2025

npm install strapi-plugin-required-relation-field

Strapi Plugin: Required Relation Field

ci NPM version

Enforces required relation fields in Strapi to be non-empty on save or publish.

Preview

Requirements

  • Strapi v5.x (supported)
  • Strapi v4.x (untested)

Installation

You just need to install the strapi-plugin-required-relation-field package via npm or yarn at the root of your Strapi project:

npm:

npm i strapi-plugin-required-relation-field

yarn:

yarn add strapi-plugin-required-relation-field

Usage

Simply set required: true for relations in your schemas, and everything will work out-of-the-box. For example:

# src/api/story-reaction/content-types/story-reaction/schema.json
{
  "kind": "collectionType",
  "collectionName": "story_reactions",
  "info": {
    "singularName": "story-reaction",
    "pluralName": "story-reactions",
    "displayName": "Story Reaction",
    "description": ""
  },
  "options": {
    "draftAndPublish": false
  },
  "attributes": {
    "story": {
      "type": "relation",
      "relation": "manyToOne",
      "target": "api::story.story",
      "inversedBy": "storyReactions",
      "required": true
    },
    "user": {
      "type": "relation",
      "relation": "manyToOne",
      "target": "plugin::users-permissions.user",
      "inversedBy": "storyReactions",
      "required": true
    },
    "reaction": {
      "type": "relation",
      "relation": "manyToOne",
      "target": "api::reaction.reaction",
      "inversedBy": "storyReactions",
      "required": true
    }
  }
}

Development

To test the plugin during development, build it with the watch:link command:

yarn watch:link

Next, link it to a local Strapi project. In a new terminal window, run:

cd /path/to/strapi/project
yarn dlx yalc add --link strapi-plugin-required-relation-field
yarn install

Since this plugin is installed via node_modules, you don't need to explicitly add it to your plugins configuration file. Running the develop command will automatically detect the plugin.

Start your Strapi project with:

yarn develop

You are now ready to contribute the plugin. Please note that any server changes will require a restart to take effect.

Submit your content

Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.

Submit
Submit your content