Here's a quick summary of everything we released in Q1 2024.

Hygraph
Docs

Field configuration

#Settings

Each field must have the following settings configured to be added to a model:

PropertyDescription
Display nameThis is what is shown to content editors throughout the application
API IDThis is what is exposed within the API as a field within your model.
DescriptionDisplays a hint for content editors and API users.

Not all setting options are available for all field types.

#Use as a title field

You can set multiple fields as titles to appear within the relational picker instead of IDs.

To set a field as title field, select the Use as title field checkbox in the field details Settings tab:

Use as a title fieldUse as a title field

#Allow multiple values

You should select this if you wish to accept multiple values, and return an array to the API for this field.

To allow multiple values, select the Allow multiple values checkbox in the field details Settings tab:

Allow multiple valuesAllow multiple values

This checkbox can only be selected during field creation and will be read-only after that.

#Localize field

Enabling this field allows translations per locale configured on your project.

To make a field localized, select the Localize field checkbox in the field details Settings tab:

Localize fieldLocalize field

#Embed options

This setting is only available for Rich text fields.

Rich text embeds need to be enabled per field. You can do this from inside the Field Settings when adding a new, or editing a Rich Text field. Click Enable embedding and select the models that should be embeddable in your Rich text field.

Rich Text OptionsRich Text Options

#Validations

Not all validation options are available for all field types.

#Make field required

Marking this prevents content from being saved if it is left empty. The API will mark this field as non nullable.

To make a field required, select the Make field required checkbox in the field details Validations tab:

Make field requiredMake field required

#Set field as unique

Enabling this ensures content cannot be saved if the same value exists within another entry for this field. Uniqueness is checked per Content stage.

To set a field as unique, select the Set field as unique checkbox in the field details Validations tab:

Set field as uniqueSet field as unique

#Limit character count

This validation allows you to specify the minimum/maximum character counts. You can set At least, Between, and No more than, with a custom error message.

To specify a minimum/maximum character count, select the Limit character count checkbox in the field details Validations tab:

Limit character countLimit character count

You can select a condition, add a minimum, a maximum and even specify an error message.

Are you using the Management SDK?

Here's an example of a field with a character count limit:

#Match a specific pattern

This validation allows you to only accept a specific regular expression.

To match a specific pattern, select the Match a specific pattern checkbox in the field details Validations tab:

Match a specific patternMatch a specific pattern

You must select a type and write a regular expression. You can indicate if the pattern should be case insensitive, multi/single line, and you can include a custom error message.

Are you using the Management SDK?

Here's an example of a field with a set RegEx value to match:

Common patterns

You can use an existing common pattern from the web app, or provide your own.

URL

(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

Phone

^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$

Email

^([a-z0-9_\.\+-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$

Slug

^[a-z0-9]+(?:-[a-z0-9]+)*$

Unicode characters

Hygraph field validations support unicode (non-latin) characters. You can add Unicode character classes - which typically correspond to specific alphabets - to a custom Regular Expression field validation.

You can read about the syntax here.

#Restrict a specific pattern

This validation option allows you to not accept specific regular expression.

To restrict a specific pattern, select the Restrict a specific pattern checkbox in the field details Validations tab:

Restrict a specific patternRestrict a specific pattern

You must write a regular expression. You can indicate if the pattern should be case insensitive, multi/single line, and you can include a custom error message.

#Advanced

Not all advanced settings are available for all field types.

#Set initial value

You can define an initial value for content editors. This doesn't have any effect on the API when performing mutations.

To set an initial value for a field field, select the Set initial value checkbox in the field details Advanced tab, and add the value there:

Set initial valueSet initial value

#Field visibility

OptionDescription
Read / WriteThe field will be accessible for read/write operations. Default.
Read OnlyThe field will be shown, but cannot be edited in the UI. You can update via the API if required.
HiddenThe field will not be shown in the UI, but can be referenced by other fields such as Slugs, or UI Extensions.
API OnlyField is not shown in the UI, but can be used via the API using mutations.

To select a field visibility type, use the field visibility dropdown menu to select an option. You will find it in the field details Advanced tab:

Field visibilityField visibility