Studio

URL

Schema type reference for the URL type.

A string which represents a URL.

Properties

  • Requiredtype

    Value must be set to url.

  • Requiredname

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

  • title

    Human readable label for the field.

  • hidden

    If set to true, this field will be hidden in the studio. You can also return a callback function to use it as a conditional field.

  • readOnly

    If set to true, this field will not be editable in the content studio. You can also return a callback function to use it as a conditional field.

  • description

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

  • initialValue

    The initial value that will be used when using this type to create new values. Can be either the literal value or a resolver function that returns either the literal value or a promise that resolves to the initial value.

  • deprecated

    Marks a field or document type as deprecated in the studio interface and displays a user-defined message defined by the single required reason property.

    If you deploy a GraphQL API schema, this property will translated into the @deprecated directive.

Options

Validation

  • uri(options)

    scheme - String, RegExp or Array of schemes to allow (default: ['http', 'https']).

    allowRelative - Whether or not to allow relative URLs (default: false).

    relativeOnly - Whether to only allow relative URLs (default: false).

The URL type is basically just a string input, but the rendered HTML input field will have the type attribute set to url, like so:

<input type="url">

Input

{
  title: 'Image URL',
  name: 'imageUrl',
  type: 'url'
}

Response

{"imageUrl": "https://example.com/img.jpg"}

To allow more protocols than http/https, you can specify validation options:

{
  title: 'Link',
  name: 'href',
  type: 'url',
  validation: Rule => Rule.uri({
    scheme: ['http', 'https', 'mailto', 'tel']
  })
}

Was this page helpful?