Livraison standard gratuite pour
une commande supérieure à 75 EUR
*Champs obligatoires
Salutation *
Mrs/Ms.
Mr.
Prénom *
Nom *
Intitulé du poste
Nom de la société : *
Veuillez choisir un pays *
Afganistan
Alandski otoki
Albanija
Alžirija
Ameriška Samoa
Ameriški Deviški otoki
Andora
Angola
Angvila
Antarktika
Antigva in Barbuda
Argentina
Armenija
Aruba
Avstralija
Avstrija
Azerbajdžan
Bahami
Bahrajn
Bangladeš
Barbados
Belgija
Belize
Belorusija
Benin
Bermuda
Bocvana
Bolgarija
Bolivija
Bonaire, Sveti Evstahij in Saba
Bosna in Hercegovina
Bouvetov otok
Božični otok
Brazilija
Britanski Deviški otoki
Britansko ozemlje v Indijskem oceanu
Brunei Darussalam
Burkina Faso
Burundi
Butan
Celinska Kitajska
Centralnoafriška republika
Ciper
Cookovi otoki
Curaçao
Danska
Demokratična ljudska republika Koreja
Demokratična republika Kongo
Dominika
Dominikanska republika
Džibuti
Egipt
Ekvador
Ekvatorialna Gvineja
El Salvador
Eritreja
Estonija
Etiopija
Falklandski otoki
Federativne države Mikronezije
Ferski otoki
Fidži
Filipini
Finska
Francija
Francoska Gvajana
Francoska Polinezija
Francoska južna ozemlja
Gabon
Gambija
Gana
Gibraltar
Grenada
Grenlandija
Gruzija
Grčija
Guernsey
Gvadelup
Gvajana
Gvam
Gvatemala
Gvineja
Gvineja Bissau
Haiti
Honduras
Hong Kong SAR
Hrvaška
Indija
Indonezija
Irak
Iran
Irska
Islandija
Italija
Izrael
Jamajka
Japonska
Jemen
Jersey
Jordanija
Južna Afrika
Južna Georgija in Južni Sandwichevi otoki
Kajmanski otoki
Kambodža
Kamerun
Kanada
Kapverdski otoki
Katar
Kazahstan
Kenija
Kirgizistan
Kiribati
Kokosovi (Keelingovi) otoki
Kolumbija
Komori
Kongo
Kostarika
Kuba
Kuvajt
Laoška ljudska demokratična republika
Latvija
Lesoto
Libanon
Liberija
Libijska arabska džamahirija
Lihtenštajn
Litva
Luksemburg
Madagaskar
Madžarska
Makav, posebno administrativno območje
Makedonija
Malavi
Maldivi
Malezija
Mali
Malta
Manjši zunanji otoki ZDA
Maroko
Marshallovi otoki
Martinik
Mavretanija
Mavricij
Mayotte
Mehika
Mjanmar
Moldavija
Monako
Mongolija
Monserat
Mozambik
Namibija
Nauru
Nemčija
Nepal
Niger
Nigerija
Nikaragva
Niue
Nizozemska
Norfolški otok
Norveška
Nova Kaledonija
Nova Zelandija
Oman
Otok Heard in Otočje McDonald
Otok Man
Otoki Turks in Caicos
Pakistan
Palau
Palestinsko ozemlje
Panama
Papua Nova Gvineja
Paragvaj
Peru
Pitcairn
Poljska
Portoriko
Portugalska
Regija Tajvan
Republika Koreja
Reunion
Romunija
Ruanda
Salomonovi otoki
Samoa
San Marino
Sao Tome in Principe
Savdska Arabija
Sejšeli
Senegal
Severni Marianski otoki
Sierra Leone
Singapur
Sirska arabska republika
Slonokoščena obala
Slovaška
Slovenija
Somalija
Srbija
Sudan
Surinam
Svalbard in Jan Mayen
Svazi
Sveta Helena, Ascension in Tristan da Cunha
Sveta Lucija
Sveta Peter in Mihael
Sveti Bartolomej
Sveti Krištof in Nevis
Sveti Martin (Nizozemski del)
Sveti Martin (francoski del)
Sveti Vincencij in Grenadine
Sveti sedež (Vatikanska mestna država)
Tadžikistan
Tajska
Tanzanija
Togo
Tokelau
Tonga
Trinidad in Tobago
Tunizija
Turkmenistan
Turčija
Tuvalu
Uganda
Ukrajina
Urugvaj
Uzbekistan
Vanuatu
Venezuela
Vietnam
Vzhodni Timor
Wallis in Futuna
Zahodna Sahara
Zambija
Združene države
Združeni arabski emirati
Združeno kraljestvo
Zimbabve
Čad
Češka republika
Čile
Črna Gora
Španija
Šri Lanka
Švedska
Švica
Téléphone *
Adresse e-mail professionnelle *
Confirmez l’adresse e-mail professionnelle  *
Nombre d’employés *
1-10 employees
11-50 employees
51-200 employees
201-500 employees
501-1,000 employees
1,001-5,000 employees
5,001-10,000 employees
>10,000 employees
1000 caractères restant
.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: 'Veuillez choisir un titre.', message_en: 'Veuillez choisir un titre.' } } }, '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('Écrivez des lettres uniquement (sans points)'); messagesEN.push('Écrivez des lettres uniquement (sans points)'); 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('La longueur minimum est de 2 caractères'); messagesEN.push('La longueur minimum est de 2 caractères'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Veuillez entrer votre nom.', message_en: 'Veuillez entrer votre nom.' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', 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('Écrivez des lettres uniquement (sans points)'); messagesEN.push('Écrivez des lettres uniquement (sans points)'); 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('La longueur minimum est de 2 caractères'); messagesEN.push('La longueur minimum est de 2 caractères'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Merci d\'entrer votre nom', message_en: 'Merci d\'entrer votre nom' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_jobTitle]': { trigger: 'blur', validators: { stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_companyName]': { trigger: 'blur', validators: { notEmpty: { message: 'Veuillez indiquer le nom de votre société.', message_en: 'Veuillez indiquer le nom de votre société.' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', 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: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, notEmpty: { message: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, stringLength: { message: 'Le nombre de caractères de ce champ doit être compris entre 0 et 70', 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: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, notEmpty: { message: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, stringLength: { message: 'Le nombre de caractères de ce champ doit être compris entre 0 et 70', 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: 'Les champs ne correspondent pas.', message_en: 'The fields do not match.' } } }, 'values[professionalCustomersContactFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: 'Veuillez entrer votre pays\/région.', message_en: 'Veuillez entrer votre pays\/région.' } } }, '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('Veuillez indiquer votre numéro de téléphone. (chiffres seulement, sans espaces)'); messagesEN.push('Veuillez indiquer votre numéro de téléphone. (chiffres seulement, sans espaces)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Veuillez indiquer votre numéro de téléphone', message_en: 'Veuillez indiquer votre numéro de téléphone' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 20 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Veuillez indiquer votre numéro de téléphone', message_en: 'Veuillez indiquer votre numéro de téléphone', 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: 'Veuillez indiquer la raison pour laquelle vous nous contactez.', message_en: 'Veuillez indiquer la raison pour laquelle vous nous contactez.' }, stringLength: { message: 'Le nombre de caractères de ce champ doit être compris entre 0 et 1000', 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