Free standard shipping over 75 EUR
* Pflichtfelder
Salutation *
Mrs/Ms.
Mr.
Vorname *
Familienname *
Stellenbezeichnung
Firmenname *
Bitte wählen Sie ein Land *
Afghanistan
Afrique du Sud
Albanie
Algérie
Allemagne
Andorre
Angola
Anguilla
Antarctique
Antigua-et-Barbuda
Arabie saoudite
Argentine
Arménie
Aruba
Australie
Autriche
Azerbaïdjan
Bahamas
Bahreïn
Bangladesh
Barbade
Belgique
Belize
Bermudes
Bhoutan
Biélorussie
Bolivie
Bonaire, Saint-Eustache et Saba
Bosnie-Herzégovine
Botswana
Brunei Darussalam
Brésil
Bulgarie
Burkina Faso
Burundi
Bénin
Cambodge
Cameroun
Canada
Cap-Vert
Chili
Chine continentale
Chypre
Colombie
Comores
Congo
Congo, République démocratique du
Corée, République de
Corée, République populaire démocratique de
Costa Rica
Croatie
Cuba
Curaçao
Côte d’Ivoire
Danemark
Djibouti
Dominique
Espagne
Estonie
Fidji
Finlande
France
Gabon
Gambie
Ghana
Gibraltar
Grenade
Groenland
Grèce
Guadeloupe
Guam
Guatemala
Guernesey
Guinée
Guinée Équatoriale
Guinée-Bissau
Guyana
Guyane
Géorgie
Géorgie du Sud et îles Sandwich du Sud
Haïti
Honduras
Hong Kong, RAS
Hongrie
Inde
Indonésie
Irak
Iran
Irlande
Islande
Israël
Italie
Jamaïque
Japon
Jersey
Jordanie
Kazakhstan
Kenya
Kirghizistan
Kiribati
Koweït
Lesotho
Lettonie
Liban
Liberia
Liechtenstein
Lituanie
Luxembourg
Macao, RAS
Macédoine
Madagascar
Malaisie
Malawi
Maldives
Mali
Malte
Maroc
Martinique
Mauritanie
Mayotte
Mexique
Micronésie, États fédérés de
Moldavie
Monaco
Mongolie
Montserrat
Monténégro
Mozambique
Myanmar
Namibie
Nauru
Nicaragua
Niger
Nigeria
Niue
Norvège
Nouvelle-Calédonie
Nouvelle-Zélande
Népal
Oman
Ouganda
Ouzbékistan
Pakistan
Palaos
Panama
Papouasie-Nouvelle-Guinée
Paraguay
Pays-Bas
Philippines
Pitcairn
Pologne
Polynésie française
Porto Rico
Portugal
Pérou
Qatar
Roumanie
Royaume-Uni
Rwanda
Région de Taïwan
République arabe syrienne
République centrafricaine
République dominicaine
République démocratique populaire lao
République libyenne arabe
République tchèque
Réunion
Sahara occidental
Saint Barthélemy
Saint-Christophe-et-Niévès
Saint-Marin
Saint-Martin (partie française)
Saint-Martin (partie néerlandaise)
Saint-Pierre-et-Miquelon
Saint-Siège (État de la Cité du Vatican)
Saint-Vincent et les Grenadines
Sainte-Hélène, Ascension et Tristan da Cunha
Sainte-Lucie
Salvador
Samoa
Samoa américaines
Sao Tomé-et-Principe
Serbie
Seychelles
Sierra Leone
Singapour
Slovaquie
Slovénie
Somalie
Soudan
Sri Lanka
Suisse
Suriname
Suède
Svalbard et Jan Mayen
Swaziland
Sénégal
Tadjikistan
Tanzanie
Tchad
Terres australes françaises
Territoire britannique de l’océan Indien
Territoire palestinien
Thaïlande
Timor oriental
Togo
Tokelaou
Tonga
Trinité-et-Tobago
Tunisie
Turkménistan
Turquie
Tuvalu
Ukraine
Uruguay
Vanuatu
Venezuela
Vietnam
Wallis-et-Futuna
Yémen
Zambie
Zimbabwe
Égypte
Émirats arabes unis
Équateur
Érythrée
États-Unis
Éthiopie
Île Christmas
Île Maurice
Île Norfolk
Île de Bouvet
Île de Man
Îles Caïmans
Îles Cocos (Keeling)
Îles Cook
Îles Féroé
Îles Heard-et-MacDonald
Îles Malouines
Îles Mariannes du Nord
Îles Marshall
Îles Salomon
Îles Turques-et-Caïques
Îles Vierges britanniques
Îles Vierges des États-Unis
Îles mineures éloignées des États-Unis
Îles Åland
Telefon *
Bitte gib einen Firmennamen ein. *
Geschäftliche E-Mail bestätigen  *
Anzahl der Mitarbeitenden *
1-10 employés
11-50 employés
51-200 employés
201-500 employés
501-1,000 employés
1,001-5,000 employés
5,001-10,000 employés
>10,000 employés
Noch 1000 Zeichen
.on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'professionalCustomersContactForm'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'professionalCustomersContactFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };
$(this).closest('#professionalCustomersContactFormConfigWrapper').find('.js-professionalCustomersContactFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[professionalCustomersContactFormDefinition_title]': { trigger: 'change', validators: { notEmpty: { message: 'Bitte wählen Sie eine Anrede.', message_en: 'Bitte wählen Sie eine Anrede.' } } }, 'values[professionalCustomersContactFormDefinition_firstName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Nur Buchstaben eingeben (keine Satzzeichen)'); messagesEN.push('Nur Buchstaben eingeben (keine Satzzeichen)'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('Mindestens 2 Zeichen'); messagesEN.push('Mindestens 2 Zeichen'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Bitte geben Sie Ihren Vornamen ein.', message_en: 'Bitte geben Sie Ihren Vornamen ein.' }, stringLength: { message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 40 Zeichen', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_lastName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Nur Buchstaben eingeben (keine Satzzeichen)'); messagesEN.push('Nur Buchstaben eingeben (keine Satzzeichen)'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('Mindestens 2 Zeichen'); messagesEN.push('Mindestens 2 Zeichen'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Bitte geben Sie Ihren Familiennamen ein.', message_en: 'Bitte geben Sie Ihren Familiennamen ein.' }, stringLength: { message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 40 Zeichen', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_jobTitle]': { trigger: 'blur', validators: { stringLength: { message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 40 Zeichen', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_companyName]': { trigger: 'blur', validators: { notEmpty: { message: 'Bitte gib einen Firmennamen ein.', message_en: 'Bitte gib einen Firmennamen ein.' }, stringLength: { message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 40 Zeichen', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_email]': { trigger: 'blur', validators: { regexp: { regexp: new RegExp('^(?=.{0,255}$)(?=.{0,64}@)(?:(?!^\\.)(?!.*\\.@)(?!.*\\.\\.)[a-zA-Z0-9!#.$%&\'*+\/=?^_‘{|}~-]+|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]){1,62}\")@(?!-)(?!.*\\.-)(?!.*-\\.)(?:[a-zA-Z0-9-]{1,61}\\.){1,126}(?=[a-zA-Z0-9-]*[a-zA-Z][a-zA-Z0-9-]*$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$', ''), message: 'Geschäftliche E-Mail-Adresse', message_en: 'Geschäftliche E-Mail-Adresse' }, notEmpty: { message: 'Geschäftliche E-Mail-Adresse', message_en: 'Geschäftliche E-Mail-Adresse' }, stringLength: { message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 70 liegen', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, } }, 'values[professionalCustomersContactFormDefinition_emailConfirm]': { trigger: 'blur', validators: { regexp: { regexp: new RegExp('^(?=.{0,255}$)(?=.{0,64}@)(?:(?!^\\.)(?!.*\\.@)(?!.*\\.\\.)[a-zA-Z0-9!#.$%&\'*+\/=?^_‘{|}~-]+|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]){1,62}\")@(?!-)(?!.*\\.-)(?!.*-\\.)(?:[a-zA-Z0-9-]{1,61}\\.){1,126}(?=[a-zA-Z0-9-]*[a-zA-Z][a-zA-Z0-9-]*$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$', ''), message: 'Geschäftliche E-Mail-Adresse', message_en: 'Geschäftliche E-Mail-Adresse' }, notEmpty: { message: 'Geschäftliche E-Mail-Adresse', message_en: 'Geschäftliche E-Mail-Adresse' }, stringLength: { message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 70 liegen', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, identical: { field: 'values[professionalCustomersContactFormDefinition_email]', message: 'Die Angaben stimmen nicht überein.', message_en: 'The fields do not match.' } } }, 'values[professionalCustomersContactFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: 'Bitte gib ein Land\/Region ein.', message_en: 'Bitte gib ein Land\/Region ein.' } } }, 'values[professionalCustomersContactFormDefinition_phone]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[\\\\+]{0,1}[0-9\\\\(\\\\)\\- \\\\.]*$', ''))) { messages.push('Bitte geben Sie Ihre Telefonnummer ein. (Nur Zahlen, keine Abstände)'); messagesEN.push('Bitte geben Sie Ihre Telefonnummer ein. (Nur Zahlen, keine Abstände)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Bitte befülle das Feld Telefon', message_en: 'Bitte befülle das Feld Telefon' }, stringLength: { message: 'Sie haben mehr Zeichen eingegeben als die in diesem Feld erlaubte Anzahl von 20 Zeichen', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Bitte befülle das Feld Telefon', message_en: 'Bitte befülle das Feld Telefon', callback: function (value, validator, $field) { if (value === '') { return true; } var prefixCountry = $field.siblings('.flag-container').children('.selected-flag').attr('title'); var isValidPrefix = prefixCountry !== undefined && prefixCountry !== 'Unknown'; if (!isValidPrefix) { return false; } var prefix = prefixCountry.split("+")[1]; var isMinimumLength = true; var minLength = ""; if (minLength !== null) { if (value.startsWith("+")) { if ((value.length - prefix.length - 1) < minLength) { isMinimumLength = false; } } else if (value.length < minLength) { isMinimumLength = false; } } return isMinimumLength; } }, } }, 'values[professionalCustomersContactFormDefinition_companySize]': { trigger: 'change', validators: { notEmpty: { message: '\u003Cspan style=\'color:#ff0000;\'\u003Eerror.genericConfigurableForm.global-b2bCustomerContact-companySize, error.genericConfigurableForm.companySize\u003C\/span\u003E', message_en: '\u003Cspan style=\'color:#ff0000;\'\u003Eerror.genericConfigurableForm.global-b2bCustomerContact-companySize, error.genericConfigurableForm.companySize\u003C\/span\u003E' } } }, 'values[professionalCustomersContactFormDefinition_message]': { trigger: 'blur', validators: { notEmpty: { message: 'Bitte geben Sie den Grund für Ihre Kontaktaufnahme an', message_en: 'Bitte geben Sie den Grund für Ihre Kontaktaufnahme an' }, stringLength: { message: 'In diesem Feld darf die Anzahl der Zeichen nur zwischen 0 und 1000 liegen', message_en: 'The number of characters for this field must be between 0 and 1000', min: 0 , max: 1000 }, } }, } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'professionalCustomersContactForm'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'professionalCustomersContactFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };

dispatcher-check