Service clientèle France
Heures d'ouverture: lun - Ven: 10:00 - 18:00
Téléphone:
+33 (0)1 44 76 15 35
Your Privacy Choices Request Form
Title:By submitting the form below you will be exercising your privacy choices and your right to opt out of targeted advertising/cross-context behavioral advertising,” “selling,” or “sharing,” your personal information or profiling.
$(this).closest('#us-personalInfoContactFormConfigWrapper').find('.js-us-personalInfoContactFormConfig')
.formValidation(
{
autoFocus: false,
framework: 'bootstrap',
icon: {
valid: null,
invalid: null,
validating: null
},
fields: {
'values[personalInfoContactFormDefinition_title]': {
trigger: 'change',
validators: {
}
},
'values[personalInfoContactFormDefinition_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[personalInfoContactFormDefinition_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[personalInfoContactFormDefinition_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 entrer votre adresse mail.',
message_en: 'Veuillez entrer votre adresse mail.'
},
notEmpty: {
message: 'Veuillez entrer votre adresse mail.',
message_en: 'Veuillez entrer votre adresse mail.'
},
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[personalInfoContactFormDefinition_personalInfo-scsMember]': {
trigger: 'change',
validators: {
}
},
'values[personalInfoContactFormDefinition_scsMemberNumber]': {
trigger: 'blur',
validators: {
stringLength: {
message: 'Vous avez dépassé la longueur maximum des 10 caractères autorisés pour ce champ',
message_en: 'You have exceeded the maximum length of 10 characters for this field',
max: 10
},
}
},
'values[personalInfoContactFormDefinition_personalInfo-swaClubMember]': {
trigger: 'change',
validators: {
}
},
'values[personalInfoContactFormDefinition_swaClubMemberNumber]': {
trigger: 'blur',
validators: {
stringLength: {
message: 'Vous avez dépassé la longueur maximum des 10 caractères autorisés pour ce champ',
message_en: 'You have exceeded the maximum length of 10 characters for this field',
max: 10
},
}
},
'values[personalInfoContactFormDefinition_addressLine1]': {
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-9\\s].*)(?!(.*(mailbox|pack\\s?station|P([.]?(O|0)[.]?|ost|ostal|obox).*((O|0)ffice.)?Box{1}\\b)))(.*)$', 'i'))) {
messages.push('Ce champ doit inclure au moins une lettre. Il est impossible d\'effectuer une livraison dans une boîte postale.');
messagesEN.push('Ce champ doit inclure au moins une lettre. Il est impossible d\'effectuer une livraison dans une boîte postale.');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Entrez votre rue et numéro',
message_en: 'Entrez votre rue et numéro'
},
stringLength: {
message: 'Vous avez dépassé la longueur maximum des 60 caractères autorisés pour ce champ',
message_en: 'You have exceeded the maximum length of 60 characters for this field',
max: 60
},
}
},
'values[personalInfoContactFormDefinition_addressLine2]': {
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('^(?!(.*(CP|mailbox|Postfach|postfach|post fach|Post Fach|Post fach|post Fach|PickPost|Mailbox|PSC Box|PO Box|P.O. box|Post Box|Post Office Box|Postal Box|Packstation|packstation|pack station|Schließfach|schließfach|schliessfach|casella postale|codigo postal|Boîte Postale|Boite postale|Casier postal|Case Postale|우편 번호|郵便番号|邮递区号|私書箱)))(.*)$', 'i'))) {
messages.push('Les adresses à destination d’une boîte postale ne sont pas autorisées, veuillez saisir une adresse valide.');
messagesEN.push('Les adresses à destination d’une boîte postale ne sont pas autorisées, veuillez saisir une adresse valide.');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
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[personalInfoContactFormDefinition_zip]': {
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('^(\\d{5}$|^\\d{5}[\\-]\\d{4})?$', ''))) {
messages.push('Le code postal n\'est pas valable. Veuillez réessayer. par.ex. Munroe Falls 44262 (5 chiffres ou bien 5 chiffres et ensuite \'-\' et ensuite 4 chiffres)');
messagesEN.push('Le code postal n\'est pas valable. Veuillez réessayer. par.ex. Munroe Falls 44262 (5 chiffres ou bien 5 chiffres et ensuite \'-\' et ensuite 4 chiffres)');
errorOccured |= true;
}
if (!value.trim().match(new RegExp('^(?!96910|96912|96913|96915|96916|96917|96919|96921|96923|96928|96929|96931|96932).*$', ''))) {
messages.push('Unfortunately we cannot ship to this location.');
messagesEN.push('Unfortunately we cannot ship to this location.');
errorOccured |= true;
}
if (!value.trim().match(new RegExp('^(?!00601|00602|00603|00604|00605|00606|00610|00611|00612|00613|00614|00616|00617|00622|00623|00624|00627|00631|00636|00637|00638|00641|00646|00647|00650|00652|00653|00656|00659|00660|00662|00664|00667|00669|00670|00674|00676|00677|00678|00680|00681|00682|00683|00685|00687|00688|00690|00692|00693|00694|00698|00703|00704|00705|00707|00714|00715|00716|00717|00718|00719|00720|00721|00723|00725|00726|00727|00728|00729|00730|00731|00732|00733|00734|00735|00736|00737|00738|00739|00740|00741|00742|00744|00745|00751|00754|00757|00765|00766|00767|00769|00771|00772|00773|00775|00777|00778|00780|00782|00783|00784|00785|00786|00791|00792|00794|00795|00901|00902|00906|00907|00908|00909|00910|00911|00912|00913|00914|00915|00916|00917|00918|00919|00920|00921|00922|00923|00924|00925|00926|00927|00928|00929|00930|00931|00933|00934|00935|00936|00937|00939|00940|00949|00950|00951|00952|00953|00954|00955|00956|00957|00958|00959|00960|00961|00962|00963|00965|00966|00968|00969|00970|00971|00975|00976|00977|00978|00979|00981|00982|00983|00984|00985|00986|00987|00988).*$', ''))) {
messages.push('Unfortunately we cannot ship to this location.');
messagesEN.push('Unfortunately we cannot ship to this location.');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Veuillez entrer votre code postal (code ZIP).',
message_en: 'Veuillez entrer votre code postal (code ZIP).'
},
stringLength: {
message: 'Vous avez dépassé la longueur maximum des 10 caractères autorisés pour ce champ',
message_en: 'You have exceeded the maximum length of 10 characters for this field',
max: 10
},
}
},
'values[personalInfoContactFormDefinition_town]': {
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('^(?!(.*(\\b(A|a|F|f|D|d){1}(P|p){1}(O|o){1}\\b)))(.*)$', 'i'))) {
messages.push('Town is not valid. Please enter a valid town');
messagesEN.push('Town is not valid. Please enter a valid town');
errorOccured |= true;
}
if (errorOccured) {
return {
valid: false,
message: messages.join('<br/>'),
message_en: messagesEN
}
} else {
return true;
}
}
},
notEmpty: {
message: 'Veuillez entrer votre ville.',
message_en: 'Veuillez entrer votre ville.'
},
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[personalInfoContactFormDefinition_region]': {
trigger: 'change',
validators: {
notEmpty: {
message: 'Veuillez choisir une région',
message_en: 'Veuillez choisir une région'
}
}
},
'values[personalInfoContactFormDefinition_message]': {
trigger: 'blur',
validators: {
notEmpty: {
message: 'Veuillez saisir un message',
message_en: 'Veuillez saisir un message'
},
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
},
}
},
'values[personalInfoContactFormDefinition_personalInfoLegal]': {
trigger: 'change',
validators: {
}
},
'values[personalInfoContactFormDefinition_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;
}
}
},
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;
}
},
}
},
}
}
)
.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 = 'personalInfoContact';
if (!formId || formId === 'cfRequest' || formId === 'cfResponse') {
formId = 'personalInfoContactFormDefinition';
}
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();
}
};
Temps d’attente estimé: 2- 5 Minutes