Livrare gratuită la comenzi de peste 500 RON
Căutare
* Câmpuri obligatorii
Salutation *
Asszony/hölgy
Úr
Prenume *
Nume de familie *
Funcția deținută
Denumire societate *
Vă rugăm să vă selectați țara *
Afganisztán
Aland-szigetek
Albánia
Algéria
Amerikai Egyesült Államok
Amerikai Szamoa
Andorra
Angola
Anguilla
Antarktisz
Antigua és Barbuda
Argentína
Aruba
Ausztria
Ausztrália
Az Egyesült Államok külső szigetei
Azerbajdzsán
Bahama-szigetek
Bahrein
Banglades
Barbados
Belgium
Belize
Benin
Bermuda
Bhután
Bissau-Guinea
Bolívia
Bonaire, Szent Eustatius és Saba
Bosznia és Hercegovina
Botswana
Bouvet-sziget
Brazília
Brit Indiai-óceáni Terület
Brunei Darussalam
Bulgária
Burkina Faso
Burundi
Chile
Ciprus
Comore-szigetek
Cook-szigetek
Costa Rica
Cseh Köztársaság
Csád
Curaçao
Dominika
Dominikai Köztársaság
Dzsibuti
Dánia
Dél-Afrika
Dél-Georgia és a Déli Sandwich-szigetek
Ecuador
Egyenlítői-Guinea
Egyesült Arab Emírségek
Egyesült Királyság
Egyiptom
El Salvador
Elefántcsontpart
Eritrea
Etiópia
Falkland-szigetek
Faroe-szigetek
Fehéroroszország
Fidzsi-szigetek
Finnország
Francia Déli területek
Francia Guyana
Francia Polinézia
Franciaország
Fülöp-szigetek
Gabon
Gambia
Ghána
Gibraltár
Grenada
Grönland
Grúzia
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guyana
Görögország
Haiti
Heard-sziget és McDonald-szigetek
Hollandia
Honduras
Hongkong KKT
Horvátország
India
Indonézia
Irak
Irán
Izland
Izrael
Jamaica
Japán
Jemen
Jersey
Jordánia
Kajmán-szigetek
Kambodzsa
Kamerun
Kanada
Karácsony-sziget
Katar
Kazahsztán
Kelet-Timor
Kenya
Kirgizisztán
Kiribati
Kolumbia
Kongó
Kongói Demokratikus Köztársaság
Kontinentális Kína
Koreai Köztársaság
Koreai Népi Demokratikus Köztársaság
Kuba
Kuvait
Kókusz (Keeling)-szigetek
Közép-Afrikai Köztársaság
Laoszi Népi Demokratikus Köztársaság
Lengyelország
Lesotho
Lettország
Libanon
Libéria
Liechtenstein
Litvánia
Luxemburg
Líbiai Arab Dzsamahiriya
Macedónia
Madagaszkár
Magyarország
Makaó KKT
Malajzia
Malawi
Maldív-szigetek
Mali
Man-sziget
Marokkó
Marshall-szigetek
Martinique
Mauritius
Mauritánia
Mayotte
Mexikó
Mianmar
Mikronéziai Szövetségi Államok
Moldova
Monaco
Mongólia
Montenegró
Montserrat
Mozambik
Málta
Namíbia
Nauru
Nepál
Nicaragua
Niger
Nigéria
Niue
Norfolk-sziget
Norvégia
Nyugat-Szahara
Németország
Olaszország
Omán
Pakisztán
Palau
Palesztin Terület
Panama
Paraguay
Peru
Pitcairn
Portugália
Puerto Rico
Pápua Új-Guinea
Románia
Ruanda
Réunion
Saint Kitts és Nevis
Saint Martin (francia rész)
Saint Pierre és Miquelon
Saint Vincent és a Grenadine-szigetek
San Marino
Seychelle-szigetek
Sierra Leone
Sint Maarten (holland rész)
Spanyolország
Srí Lanka
Suriname
Svalbard és Jan Mayen
Svájc
Svédország
Szamoa
Szaúd-Arábia
Szenegál
Szent Barthélemy
Szent Ilona, Ascension és Tristan da Cunha
Szent Lucia
Szentszék (Vatikánváros)
Szerbia
Szingapúr
Szlovákia
Szlovénia
Szolomon-szigetek
Szomália
Szudán
Szváziföld
Szíriai Arab Köztársaság
São Tomé és Príncipe
Tajvan
Tanzánia
Thaiföld
Togo
Tokelau
Tonga
Trinidad és Tobago
Tunézia
Turks-és Caicos-szigetek
Tuvalu
Tádzsikisztán
Törökország
Türkmenisztán
Uganda
Ukrajna
Uruguay
Vanuatu
Venezuela
Vietnam
Virgin-szigetek, Egyesült Államok
Virgin-szigetek, brit
Wallis és Futuna
Zambia
Zimbabwe
Zöld-fok
Észak Mariana szigetek
Észtország
Írország
Örményország
Új-Kaledónia
Új-Zéland
Üzbegisztán
Telefon *
Adresa de e-mail de serviciu *
Confirmar e-mail profissional  *
Numărul de angajați *
1-10 alkalmazott
11-50 alkalmazott
51-200 alkalmazott
201-500 alkalmazott
501-1,000 alkalmazott
1,001-5,000 alkalmazott
5,001-10,000 alkalmazott
>10,000 alkalmazott
1000 caractere rămase
.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); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } 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/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', '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: 'Vă rugăm să alegeți un titlu', message_en: 'Vă rugăm să alegeți un titlu' } } }, '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('Sunt permise numai litere'); messagesEN.push('Sunt permise numai litere'); 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('Lungimea minimă este de 2 caractere'); messagesEN.push('Lungimea minimă este de 2 caractere'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Vă rugăm să vă introduceți prenumele.', message_en: 'Vă rugăm să vă introduceți prenumele.' }, stringLength: { message: 'Ați depășit lungimea maximă de 40 caractere pentru acest câmp', 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('Sunt permise numai litere'); messagesEN.push('Sunt permise numai litere'); 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('Lungimea minimă este de 2 caractere'); messagesEN.push('Lungimea minimă este de 2 caractere'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Vă rugăm să vă introduceți numele de familie.', message_en: 'Vă rugăm să vă introduceți numele de familie.' }, stringLength: { message: 'Ați depășit lungimea maximă de 40 caractere pentru acest câmp', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_jobTitle]': { trigger: 'blur', validators: { stringLength: { message: 'Ați depășit lungimea maximă de 40 caractere pentru acest câmp', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_companyName]': { trigger: 'blur', validators: { notEmpty: { message: 'Vă rugăm să indicați denumirea societății dvs.', message_en: 'Vă rugăm să indicați denumirea societății dvs.' }, stringLength: { message: 'Ați depășit lungimea maximă de 40 caractere pentru acest câmp', 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: 'Vă rugăm să completați adresa de e-mail de serviciu.', message_en: 'Vă rugăm să completați adresa de e-mail de serviciu.' }, notEmpty: { message: 'Vă rugăm să completați adresa de e-mail de serviciu.', message_en: 'Vă rugăm să completați adresa de e-mail de serviciu.' }, stringLength: { message: 'Numărul de caractere pentru acest câmp trebuie să fie între 0 și 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: 'Vă rugăm să completați adresa de e-mail de serviciu.', message_en: 'Vă rugăm să completați adresa de e-mail de serviciu.' }, notEmpty: { message: 'Vă rugăm să completați adresa de e-mail de serviciu.', message_en: 'Vă rugăm să completați adresa de e-mail de serviciu.' }, stringLength: { message: 'Numărul de caractere pentru acest câmp trebuie să fie între 0 și 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: 'Câmpurile nu corespund.', message_en: 'The fields do not match.' } } }, 'values[professionalCustomersContactFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: 'Vă rugăm să introduceți țara\/regiunea.', message_en: 'Vă rugăm să introduceți țara\/regiunea.' } } }, '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('vă rugăm să introduceți numărul dvs. de telefon. (doar cifre, fără spații)'); messagesEN.push('vă rugăm să introduceți numărul dvs. de telefon. (doar cifre, fără spații)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Vă rugăm să introduceți numărul dvs. de telefon', message_en: 'Vă rugăm să introduceți numărul dvs. de telefon' }, stringLength: { message: 'Ați depășit lungimea maximă de 20 caractere pentru acest câmp', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Vă rugăm să introduceți numărul dvs. de telefon', message_en: 'Vă rugăm să introduceți numărul dvs. de 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: 'Vă rugăm să completați motivul pentru care ne contactați', message_en: 'Vă rugăm să completați motivul pentru care ne contactați' }, stringLength: { message: 'Numărul de caractere pentru acest câmp trebuie să fie între 0 și 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); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } 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/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', '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