Index
Edit

String

Short string. Typically used for titles, names and labels. If you need a basic multi-line string input, use the text-type. If you need text with markup and structured data, use block text.

Properties

typestring

Required. Value must be set to string.

titlestring

Human readable label for the field.

namestring

Required. The field name. This will be the key in the data record.

hiddenboolean

If set to true, this field will be hidden in the Content Studio.

readOnlyboolean

If set to true, this field will not be editable in the content studio.

descriptionstring

Short description to editors how the field is to be used.

Options

listarray

A list of predefined values that the user can choose from. The array can either include string values ['sci-fi', 'western'] or objects [{title: 'Sci-Fi', value: 'sci-fi'}, ...]

layoutstring

Controls how the items defined in the list option are presented. If set to 'radio' the list will render radio buttons. If set to 'dropdown' you'll get a dropdown menu instead. Default is dropdown.

directionstring

Controls how radio buttons are lined up. Use direction: 'horizontal|vertical' to render radio buttons in a row or a column. Default is vertical. Will only take effect if the layout option is set to radio.

Validation

For more usage information see the full validation documentation.

required()

Ensures that this field exists.

min(minLength)

Minimum length of string.

max(maxLength)

Maximum length of string.

length(exactLength)

Required, exact length of string.

uppercase()

All characters must be uppercase.

lowercase()

All characters must be lowercase.

regex(pattern[, options])

String must match the given pattern.

options is an optional object, currently you can set options.name and options.invert.

Providing a name will make the message more understandable to the user ("Does not match the <name>-pattern").

Set invert to true in order to allow any value that does NOT match the pattern.

custom(fn)

Creates a custom validation rule.

Example

{
  title: 'Title',
  name: 'title',
  type: 'string'
}

Example: List of predefined strings

Schema
{
  title: 'Genre',
  name: 'genre',
  type: 'string',
  options: {
    list: [
      {title: 'Sci-Fi', value: 'sci-fi'},
      {title: 'Western', value: 'western'}
    ], // <-- predefined values
    layout: 'radio' // <-- defaults to 'dropdown'
  }
}
JSON output
{
  "_type": "movie",
  "_id": "23407q-qwerqyt12",
  "genre": "sci-fi",
  ...
}

Previous: ObjectNext: Text