You can show a field only if it meets a condition:

fields: [
name: 'Foo', // controlled field
component: 'text-field',
}, {
name: 'BarFoo',
label: 'Foo is Bar!',
component: 'text-field',
condition: {
when: 'Foo', // name of controlled field
is: 'Bar', // condition

When attribute is always required. Can be one of following types:


A name of field where the value is stored.


currentField => string | string[]

A function receiving the current field as the first argument. Can be used to get dynamically created field name:

when: (field) => `${getFieldNumber(field)}.name`
field = {
name: 'person[14]',

A function in an array cannot return another array.


An array of string or functions.