<div class="form-builder" data-form-builder-initial-jump>
<div class="form-builder__container">
<form class="dynamic-form" action="/some-target/" method="POST" data-validation="false" data-jump-to-error-message="true">
<div class="dynamic-form__message--full-width">
<div class="message--error is-hidden">
<div class="message__container--disabled">
<span class="visually-hidden">Error message</span>
<div class="message__content">
<p class="message__text"><b>Error</b>. The form is not valid! Please check the fields in this dialog</p>
</div>
<div class="message__close-button">
<button class="button-icon--icon-regular -icon-close" type="button" name="close-big-menu" value="yes">
<span class="visually-hidden">Schliessen</span>
</button>
</div>
</div>
</div>
</div>
<fieldset class="dynamic-form__fieldset--full-width">
<div class="dynamic-form__element">
<div class="select--light is-initialized with-label">
<div class="select__wrapper">
<select class="select__select" id="salutation" name="salutation" required>
<option value="" disabled selected>Bitte wählen</option>
<option value="mr">Herr</option>
<option value="ms">Frau</option>
</select>
<label class="select__label" for="salutation">Anrede
*
</label>
</div>
</div>
</div>
<div class="dynamic-form__element">
<div class="text-field--light is-initialized">
<div class="text-field__wrapper">
<input class="text-field__input" id="firstName" type="text" name="firstName" required />
<label class="text-field__label" for="firstName">Vorname
*
</label>
</div>
</div>
</div>
<div class="dynamic-form__element">
<div class="text-field--light is-initialized">
<div class="text-field__wrapper">
<input class="text-field__input" id="lastName" type="text" name="lastName" required />
<label class="text-field__label" for="lastName">Nachname
*
</label>
</div>
</div>
</div>
<div class="dynamic-form__element">
<div class="text-field--light is-initialized">
<div class="text-field__wrapper">
<input class="text-field__input" id="mail" type="email" name="mail" required />
<label class="text-field__label" for="mail">E-Mail Adresse
*
</label>
</div>
</div>
</div>
<div class="dynamic-form__element--zip-city">
<div class="text-field--light is-initialized">
<div class="text-field__wrapper">
<input class="text-field__input" id="zip" type="text" name="zip" required />
<label class="text-field__label" for="zip">PLZ
*
</label>
</div>
</div>
<div class="text-field--light is-initialized">
<div class="text-field__wrapper">
<input class="text-field__input" id="city" type="text" name="city" required />
<label class="text-field__label" for="city">Ort
*
</label>
</div>
</div>
</div>
<div class="dynamic-form__element">
<div class="select--light is-initialized is-filled-in with-label">
<div class="select__wrapper">
<select class="select__select" id="country" name="country" required>
<option value="" disabled>Bitte wählen</option>
<option value="ch" selected="selected">Schweiz</option>
<option value="de">Deutschland</option>
<option value="fr">Frankreich</option>
<option value="it">Italien</option>
<option value="li">Lichtenstein</option>
</select>
<label class="select__label" for="country">Land
*
</label>
</div>
</div>
</div>
<div class="dynamic-form__element">
<div class="text-area--light is-initialized">
<div class="text-area__wrapper">
<textarea class="text-area__input" id="message" name="message" required maxlength="999">
</textarea>
<label class="text-area__label" for="message">Nachricht
*
</label>
</div>
</div>
</div>
</fieldset>
<button class="button--primary-small" type="submit">Absenden</button>
</form>
</div>
</div>
{% include '@SharedComponents/modules/bricks/components/form-builder/form-builder.twig' %}
{
"form": {
"variant": "full-width",
"form": {
"method": "POST",
"action": "/some-target/",
"jumpToErrorMessage": true,
"message": {
"closeButton": {
"variant": "icon-regular",
"title": "Schliessen",
"icon": "close",
"type": "button",
"role": "button",
"name": "close-big-menu",
"value": "yes"
},
"isHidden": true,
"container": false,
"labels": {
"info": "Information message",
"error": "Error message",
"warning": "Warning message",
"success": "Success message"
},
"variant": "error",
"message": "<b>Error</b>. The form is not valid! Please check the fields in this dialog"
}
},
"fields": [
{
"component": "select",
"variant": "light",
"id": "salutation",
"name": "salutation",
"label": "Anrede",
"required": true,
"disabled": false,
"selected": false,
"options": {
"mr": "Herr",
"ms": "Frau"
},
"choose": "Bitte wählen",
"error": ""
},
{
"component": "text-field",
"variant": "light",
"id": "firstName",
"name": "firstName",
"label": "Vorname",
"required": true,
"value": "",
"disabled": false,
"type": "text",
"autocomplete": false,
"error": ""
},
{
"component": "text-field",
"variant": "light",
"id": "lastName",
"name": "lastName",
"label": "Nachname",
"required": true,
"value": "",
"disabled": false,
"type": "text",
"autocomplete": false,
"error": ""
},
{
"component": "text-field",
"variant": "light",
"id": "mail",
"name": "mail",
"label": "E-Mail Adresse",
"required": true,
"value": "",
"disabled": false,
"type": "email",
"autocomplete": false
},
{
"component": "text-field-zip-city",
"variant": "light",
"id": "zip",
"name": "zip",
"label": "PLZ",
"required": true,
"value": "",
"disabled": false,
"type": "text",
"autocomplete": false,
"error": ""
},
{
"component": "text-field-zip-city",
"variant": "light",
"id": "city",
"name": "city",
"label": "Ort",
"required": true,
"value": "",
"disabled": false,
"type": "text",
"autocomplete": false,
"error": ""
},
{
"component": "select",
"variant": "light",
"id": "country",
"name": "country",
"label": "Land",
"required": true,
"disabled": false,
"selected": "ch",
"options": {
"ch": "Schweiz",
"de": "Deutschland",
"fr": "Frankreich",
"it": "Italien",
"li": "Lichtenstein"
},
"choose": "Bitte wählen",
"error": ""
},
{
"component": "text-area",
"variant": "light",
"id": "message",
"name": "message",
"label": "Nachricht",
"required": true,
"value": "",
"disabled": false,
"maxlength": 999,
"error": "",
"helper": ""
}
],
"submitButton": {
"variant": "primary-small",
"type": "button",
"title": "Absenden"
}
},
"initialFocus": true
}
import './form-builder.scss';
import FormBuilder, {selector as sel} from 'cando-cx-components-library/components/modules/bricks/components/form-builder/form-builder';
export default FormBuilder;
export const selector = sel;
@import "~shared/base";
@import "~cando-cx-components-library/components/modules/bricks/components/form-builder/form-builder";
This component is named by the module ‘form builder’ itself