Field validators

Validators ensure that field input is entered in the correct format and length. For example, you can validate that an email address adheres to a syntax such as You can add multiple validators to a field. The validators are executed in a chain, one after the other.

This field validator definition is part of the Magnolia 6 UI framework. The fully qualified class name is info.magnolia.ui.field.FieldValidatorDefinition.

If you work with the Magnolia 5 UI framework, see Field validators for Magnolia 5 UI instead.

Example definition

  label: Email
  $type: textField
  required: true
      $type: emailValidator
      errorMessage: Enter a valid email address

Validator properties

Property Description



List of field validator definition items. Any value must be a subtype of info.magnolia.ui.field.FieldValidatorDefinition.

     <validator name>


Arbitrary validator name. Use a name that describes the validator type.


required (unless $type is used)

Validator definition class. Use the fully qualified class name. See Validator types for possible values.


You can use this as a shortcut for class if the definition class is annotated with info.magnolia.ui.field.ValidatorType. The proper value is defined by the annotation.

Example class annotation
public class EmailValidatorDefinition extends ConfiguredFieldValidatorDefinition {

To use the $type property in YAML, see Example definition.


required (used only in node name validation), default is EDIT

Validation mode when using nodeNameValidator. Validates names for:

  • Siblings of the currently selected node when editing an existing node (mode=EDIT).

  • Children of the currently selected node when adding a new node (mode=ADD).


required (used only in node name and regex validation), default is .+ for nodeNameValidator

Regular expression pattern to validate against when using nodeNameValidator and regexpValidator.

Do not use pattern to validate empty values. Instead, make sure that required is set to true.



Fully qualified name of the Java class that creates the validator. The class must implement info.magnolia.ui.field.FieldValidatorFactory. Validator definitions specify a default factory class. This means that unless you want to use a custom implementation, you do not need to configure a factory class.



Error message displayed on invalid input. The value can be literal or retrieved from the message bundle with a key. Use alphanumeric characters in literal values.

Custom validators

To write your own validator definition class:

  1. Create a validator class that performs the actual validation.

  2. Create a validator factory class that extends info.magnolia.ui.field.AbstractFieldValidatorFactory. Implement the createValidator method.

  3. Create a validator definition class that extends info.magnolia.ui.field.ConfiguredFieldValidatorDefinition. In the definition class, set the factory class.

Validator types

$type class/description



Validates an email address. Delegates to Vaadin EmailValidator.



Validates JCR node names as defined in the mode and pattern properties.



Validates text input as defined in the pattern property.