Fields are defined like this:
fields:
myfield:
label: Label Text
type: textarea
…
mysecondfield:
label: Another Label Text
type: text
…
The name will be used as the field name in content files. So if a field has the name myfield
the result in the content file will look like this:
myfield: my content for my field
----
Each field can have the following variables:
Defines the name label, which will be displayed above the field
fields:
myfield:
label: This is a nice field
…
If you want to translate labels for your editors, you can add translations like this:
fields:
myfield:
label:
en: This is a nice field
de: Das ist ein schönes Feld
…
Use this to mark a field as required. It will no longer be possible to submit the form without adding any data in that field:
fields:
myfield:
label: This is a nice field
required: true
…
If you want to make sure that the content of a field is validated before a page can be saved, you can use the validate option for fields.
fields:
email:
label: Email Address
type: text
validate: email
…
You can use the predefined validation methods: email, date, url or you can define your own:
fields:
somefield:
label: Some Label
type: text
validate:
minlength: 10
maxlength: 30
match: /[a-z0-9]+/i
minlength
, maxlength
and match
are all optional, so you can combine them however you want.
Defines a help text, which will be displayed below the field to give some more instructions.
fields:
myfield:
label: This is a nice field
help: Fill this out or you will die
…
If you want to translate help for your editors, you can add translations like this:
fields:
myfield:
label:
en: This is a nice field
de: Das ist ein schönes Feld
help:
en: Fill this out or you will die
de: Füllen Sie dieses Feld aus oder Sie werden sterben
…