ฟรีค่าจัดส่งแบบธรรมดาที่มียอดสูงกว่า 3,670 ฿
* Pflichtfelder
Vorname *
Familienname *
Stellenbezeichnung
Firmenname *
Bitte wählen Sie ein Land *
กรีซ
กรีนแลนด์
กวม
กัมพูชา
กัวเดอลุป
กัวเตมาลา
กาตาร์
กานา
กาบอง
กายอานา
กินี
กินี-บิสเซา
คองโก
คอสตาริกา
คอโมโรส
คาซัคสถาน
คิริบาส
คิวบา
คีร์กีซสถาน
คูราเซา
คูเวต
จอร์เจีย
จอร์แดน
จาไมกา
จิบูตี
จีนแผ่นดินใหญ่
ชาด
ชิลี
ซานมารีโน
ซามัว
ซาอุดีอาระเบีย
ซาฮาราตะวันตก
ซิมบับเว
ซูดาน
ซูรินาเม
ญี่ปุ่น
ดินแดนปาเลสไตน์
ตรินิแดดและโตเบโก
ตองกา
ติมอร์-เลสเต
ตุรกี
ตูนิเซีย
ตูวาลู
ทาจิกิสถาน
นครรัฐวาติกัน
นอร์เวย์
นามิเบีย
นาอูรู
นิการากัว
นิวซีแลนด์
นิวแคลิโดเนีย
นีอูเอ
บราซิล
บริติชอินเดียนโอเชียนเทร์ริทอรี
บรูไนดารุสซาลาม
บอตสวานา
บอสเนียและเฮอร์เซโกวีนา
บังกลาเทศ
บัลแกเรีย
บาร์เบโดส
บาห์เรน
บาฮามาส
บุรุนดี
บูร์กินาฟาโซ
ประเทศไทย
ปากีสถาน
ปานามา
ปาปัวนิวกินี
ปารากวัย
ปาเลา
ฝรั่งเศส
ฟิจิ
ฟินแลนด์
ฟิลิปปินส์
ภูฏาน
มองโกเลีย
มอนต์เซอร์รัต
มอนเตเนโกร
มอริเชียส
มอริเตเนีย
มอลตา
มอลโดวา
มัลดีฟส์
มาซิโดเนีย
มาดากัสการ์
มายอต
มาร์ตินีค
มาลาวี
มาลี
มาเลเซีย
ยิบรอลตาร์
ยูกันดา
ยูเครน
รวันดา
ลักเซมเบิร์ก
ลัตเวีย
ลิกเตนสไตน์
ลิทัวเนีย
วานูอาตู
วาลลิสและฟุตูนา
ศรีลังกา
สฟาลบาร์และยานไมเอน
สวาซิแลนด์
สวิตเซอร์แลนด์
สวีเดน
สหพันธรัฐไมโครนีเชีย
สหรัฐอาหรับเอมิเรตส์
สหรัฐอเมริกา
สหราชอาณาจักร
สาธารณรัฐประชาธิปไตยคองโก
สาธารณรัฐประชาธิปไตยประชาชนลาว
สาธารณรัฐประชาธิปไตยประชาชนเกาหลี
สาธารณรัฐสังคมนิยมประชาชนอาหรับลิเบีย
สาธารณรัฐอาหรับซีเรีย
สาธารณรัฐเกาหลี
สาธารณรัฐเช็ก
สาธารณรัฐแอฟริกากลาง
สาธารณรัฐโดมินิกัน
สิงคโปร์
สเปน
สโลวาเกีย
สโลวีเนีย
หมู่เกาะคุก
หมู่เกาะนอร์เทิร์นมาเรียนา
หมู่เกาะพิตแคร์น
หมู่เกาะฟอล์กแลนด์
หมู่เกาะมาร์แชลล์
หมู่เกาะรอบนอกของสหรัฐอเมริกา
หมู่เกาะเคย์แมน
หมู่เกาะเติกส์และหมู่เกาะเคคอส
หมู่เกาะเวอร์จินของสหรัฐอเมริกา
หมู่เกาะเวอร์จินของอังกฤษ
หมู่เกาะแฟโร
หมู่เกาะโคโคส (หมู่เกาะคีลิง)
หมู่เกาะโซโลมอน
หมู่เกาะโบแนเรอ ซินต์เอิสตาซียึส และซาบา
หมู่เกาะโอลันด์
ออสเตรีย
ออสเตรเลีย
อันดอร์รา
อัฟกานิสถาน
อารูบา
อาร์เจนตินา
อาร์เมเนีย
อาเซอร์ไบจาน
อิตาลี
อินเดีย
อินโดนีเซีย
อิรัก
อิสราเอล
อิหร่าน
อิเควทอเรียลกินี
อียิปต์
อุซเบกิสถาน
อุรุกวัย
อเมริกันซามัว
ฮอนดูรัส
ฮังการี
เกรเนดา
เกาะคริสต์มาส
เกาะนอร์ฟอล์ก
เกาะบูเวต
เกาะเซนต์มาร์ติน (ส่วนที่เป็นดินแดนของฝรั่งเศส)
เกาะเซนต์มาร์ติน (ส่วนที่เป็นดินแดนของเนเธอร์แลนด์)
เกาะเฮิร์ดและหมู่เกาะแมคโดนัลด์
เกิร์นซีย์
เขตบริหารพิเศษมาเก๊า
เขตบริหารพิเศษฮ่องกง
เคนยา
เคปเวิร์ด
เจอร์ซีย์
เซนต์คิตส์และเนวิส
เซนต์บาร์เตเลมี
เซนต์ลูเซีย
เซนต์วินเซนต์และเกรนาดีนส์
เซนต์เฮเลนา อัสเซนชัน และตริสตันดากูนยา
เซอร์เบีย
เซาตูเมและปรินซิปี
เซาท์จอร์เจีย และหมู่เกาะเซาท์แซนด์วิช
เซียร์ราลีโอน
เซเชลส์
เซเนกัล
เดนมาร์ก
เติร์กเมนิสถาน
เนปาล
เนเธอร์แลนด์
เบนิน
เบลารุส
เบลีซ
เบลเยียม
เบอร์มิวดา
เปรู
เปอร์โตริโก
เฟรนช์เกียนา
เฟรนช์เซาเทิร์นเทร์ริทอรีส์
เฟรนช์โปลินีเซีย
เมียนมาร์
เม็กซิโก
เยอรมนี
เยเมน
เรอูนียง
เลบานอน
เลโซโท
เวียดนาม
เวเนซุเอลา
เอกวาดอร์
เอธิโอเปีย
เอริเทรีย
เอลซัลวาดอร์
เอสโตเนีย
เฮติ
แกมเบีย
แคนาดา
แคเมอรูน
แซงปีแยร์และมีเกอลง
แซมเบีย
แทนซาเนีย
แองกวิลลา
แองโกลา
แอนตาร์กติกา
แอนติกาและบาร์บูดา
แอฟริกาใต้
แอลจีเรีย
แอลเบเนีย
โกตดิวัวร์
โครเอเชีย
โคลอมเบีย
โซมาเลีย
โดมินิกา
โตเกเลา
โตโก
โบลิเวีย
โปรตุเกส
โปแลนด์
โมซัมบิก
โมนาโก
โมร็อกโก
โรมาเนีย
โอมาน
ไซปรัส
ไต้หวัน
ไนจีเรีย
ไนเจอร์
ไลบีเรีย
ไอซ์แลนด์
ไอร์แลนด์
ไอล์ออฟแมน
Telefon *
Bitte gib einen Firmennamen ein. *
Geschäftliche E-Mail bestätigen  *
Anzahl der Mitarbeitenden *
1-10 พนักงาน
11-50 พนักงาน
51-200 พนักงาน
201-500 พนักงาน
501-1,000 พนักงาน
1,001-5,000 พนักงาน
5,001-10,000 พนักงาน
>10,000 พนักงาน
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('#th-professionalCustomersContactFormConfigWrapper').find('.js-th-professionalCustomersContactFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { '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