☁️ Loving our new documentation website? Provide feedback in the CloudCannon Community! ✨

options

Table of contents

Description:

This key defines options that are specific to Array Inputs.

Appears in:
└── _inputs
    └── *
        └── Array Input
            └── options
Type:
Object
Properties:

This key toggles whether CloudCannon will hide the add button, and context menu actions on each item for adding new items to this Input.

Setting this key to true will hide the add button and context menu actions for adding new items.

By default, this key is false (i.e., the add button and context menu actions are displayed).

Defaults to: false

This key toggles whether CloudCannon will hide the context menu actions on each item for removing them.

Setting this key to true will hide the context menu actions for removing items.

By default, this key is false (i.e., the context menu actions for removing items are displayed).

Defaults to: false

This key toggles whether CloudCannon will hide the controls on each item for moving them.

Setting this key to true will hide the controls for moving items.

By default, this key is false (i.e., the controls for moving items are displayed).

Defaults to: false

This key defines how an 'empty' value will be saved. Does not apply to existing empty values.

Defaults to: null

Allowed values: null array

Show examplesHide examples

In this example, we have configured how empty array values will be saved.

Copied to clipboard
_inputs:
  tags:
    type: array
    options:
      empty_type: array
{
  "_inputs": {
    "tags": {
      "type": "array",
      "options": {
        "empty_type": "array"
      }
    }
  }
}

This key defines the maximum number of items CloudCannon will allow in an Input.

When configured, CloudCannon will prevent you from adding more items to this Input.

If the Input already contains more items, CloudCannon will require you to remove items until the Input contains a valid number to save your changes, or discard your unsaved changes.

Value can be any positive integer.

If options.min_items is also configured, this key cannot be a lesser number.

This key has no default.

This key is available for Array and Multiselect or Multichoice Inputs.

Show examplesHide examples

In this example, we want to add an array of filepaths to our homepage's featured_posts Input. This Input limits you to a maximum of five array items.

Copied to clipboard
_inputs:
  featured_posts:
    type: array
    options:
      max_items: 5
      max_items_message: Cannot be more than 5
      min_items: 2
      min_items_message: Cannot be less than 2
{
  "_inputs": {
    "featured_posts": {
      "type": "array",
      "options": {
        "max_items": 5,
        "max_items_message": "Cannot be more than 5",
        "min_items": 2,
        "min_items_message": "Cannot be less than 2"
      }
    }
  }
}

This key defines a custom error message that explains why a value has failed the validation criteria from options.max_items.

This key requires you to define options.max_items.

This key has no default.

This key is available for Array and Multiselect or Multichoice Inputs.

Show examplesHide examples

In this example, we prompt our team to enter a valid number of items using a custom message.

Copied to clipboard
_inputs:
  featured_posts:
    type: array
    options:
      max_items: 5
      max_items_message: Cannot be more than 5
      min_items: 2
      min_items_message: Cannot be less than 2
{
  "_inputs": {
    "featured_posts": {
      "type": "array",
      "options": {
        "max_items": 5,
        "max_items_message": "Cannot be more than 5",
        "min_items": 2,
        "min_items_message": "Cannot be less than 2"
      }
    }
  }
}

This key defines the minimum number of items CloudCannon will allow in an Input.

When configured, CloudCannon will prevent you from removing items from this Input below this value.

If the Input already contains fewer items, CloudCannon will require you to add items until the Input contains a valid number to save your changes, or discard your unsaved changes.

Value can be any positive integer.

If options.min_items is also configured, this key cannot be a greater number.

This key has no default.

This key is available for Array and Multiselect or Multichoice Inputs.

Show examplesHide examples

In this example, we want to add an array of filepaths to our homepage's featured_posts Input. This Input limits you to a maximum of two array items.

Copied to clipboard
_inputs:
  featured_posts:
    type: array
    options:
      max_items: 5
      max_items_message: Cannot be more than 5
      min_items: 2
      min_items_message: Cannot be less than 2
{
  "_inputs": {
    "featured_posts": {
      "type": "array",
      "options": {
        "max_items": 5,
        "max_items_message": "Cannot be more than 5",
        "min_items": 2,
        "min_items_message": "Cannot be less than 2"
      }
    }
  }
}

This key defines a custom error message that explains why a value has failed the validation criteria from options.min_items.

This key requires you to define options.min_items.

This key has no default.

This key is available for Array and Multiselect or Multichoice Inputs.

Show examplesHide examples

In this example, we prompt our team to enter a valid number of items using a custom message.

Copied to clipboard
_inputs:
  featured_posts:
    type: array
    options:
      max_items: 5
      max_items_message: Cannot be more than 5
      min_items: 2
      min_items_message: Cannot be less than 2
{
  "_inputs": {
    "featured_posts": {
      "type": "array",
      "options": {
        "max_items": 5,
        "max_items_message": "Cannot be more than 5",
        "min_items": 2,
        "min_items_message": "Cannot be less than 2"
      }
    }
  }
}
requiredboolean#

This key toggles whether CloudCannon requires this Input to have a value.

Setting this key to true will require you to enter a value to save your changes, or discard your unsaved changes.

By default, this key is false (i.e., CloudCannon does not require this Input to have a value).

This key is available for Array, Code, Color, Date and Time, File, Number, Object, Select and Multiselect, Text, Rich Text, and URL Inputs.

Defaults to: false

Show examplesHide examples

In this example, we want to require our team to enter an author value for markup files with this Input.

Copied to clipboard
_inputs:
  author:
    type: text
    comment: Enter the name of the author for this blog post.
    options:
      required: true
{
  "_inputs": {
    "author": {
      "type": "text",
      "comment": "Enter the name of the author for this blog post.",
      "options": {
        "required": true
      }
    }
  }
}

This key defines a custom error message that explains why a value has failed the validation criteria from options.required.

This key requires you to define options.required.

This key has no default.

This key is available for Array, Code, Color, Date and Time, File, Number, Object, Select and Multiselect, Text, Rich Text, and URL Inputs.

Show examplesHide examples

In this example, we prompt our team to use enter an Input value using a required message.

Copied to clipboard
_inputs:
  author:
    type: text
    comment: Enter the name of the author for this blog post.
    options:
      required: true
      required_message: You are not allowed to leave this blank.
{
  "_inputs": {
    "author": {
      "type": "text",
      "comment": "Enter the name of the author for this blog post.",
      "options": {
        "required": true,
        "required_message": "You are not allowed to leave this blank."
      }
    }
  }
}

This key defines data formats for value of this object.

When choosing an item, team members are prompted to choose from a number of values you have defined.

This key defines the JSON Path selector that CloudCannon should use to determine if the value of an Input is unique.

When configured, CloudCannon will require the value of the Input to be unique compared to the value defined on the JSON Path.

If the Input already contains a non-unique value, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes.

Value must be a valid JSON Path.

This key has no default.

This key is available for Array inputs.

Show examplesHide examples

In this example, we want our team to add article filepaths to the related_articles Input. This Input requires all the filepaths to be unique.

Copied to clipboard
_inputs:
  related_articles:
    type: array
    options:
      unique_on: $.path
{
  "_inputs": {
    "related_articles": {
      "type": "array",
      "options": {
        "unique_on": "$.path"
      }
    }
  }
}
Copied to clipboard
related_articles:
  - path: /articles/first-article.md
    featured: true
  - path: /articles/second-article.md
    featured: false
{
  "related_articles": [
    {
      "path": "/articles/first-article.md",
      "featured": true
    },
    {
      "path": "/articles/second-article.md",
      "featured": false
    }
  ]
}

This key defines a custom error message that explains why a value has failed the validation criteria from options.unique_on. This key requires you to define options.unique_on.

This key has no default.

This key is available for Array inputs.

Show examplesHide examples

In this example, we want our team to add article filepaths to the related_articles Input. This Input requires all the filepaths to be unique.

Copied to clipboard
_inputs:
  related_articles:
    type: array
    options:
      unique_on: $.path
      unique_on_message: The value for path must be different for all items.
{
  "_inputs": {
    "related_articles": {
      "type": "array",
      "options": {
        "unique_on": "$.path",
        "unique_on_message": "The value for path must be different for all items."
      }
    }
  }
}
Copied to clipboard
related_articles:
  - path: /articles/first-article.md
    featured: true
  - path: /articles/first-article.md
    featured: false
{
  "related_articles": [
    {
      "path": "/articles/first-article.md",
      "featured": true
    },
    {
      "path": "/articles/first-article.md",
      "featured": false
    }
  ]
}
Examples:
Open in a new tab