Improve responsiveness on payment page

Hi team,

Another post to try and improve my coding skills and make some of the site more responsive. I have a ton of code to check the validity on my paymnet page, it seems at times to slow down user input when typing (all the usual stuff has been done with cookies, the latest version of Chrome etc)

I think maybe if I improve the code it may help? I have spoken to the Wix team and they are looking into this at their end also.

Anyway, below I have some code for 2 participants, which with more people the code size increases… I have 8 spaces, so you can imagine how much code there is…

I have played with functions within function to reduce but it behaves oddly… this code is the only way, so far that it works as expected.

Thank you!

let validationMessage = ""

function participant1(){
 if (!$w('#medicalsOne').value) validationMessage += 'Participant 1 - If no medicals, please enter None\n';
 if (!$w('#ECNameOne').value) validationMessage += 'Participant 1 - Please enter emergency contact name\n';
 if (!$w('#ECNumbOne').value) validationMessage += 'Participant 1 - Please enter emergency contact number\n';
 if (!$w('#datePicker1').value) validationMessage += 'Participant 1 - Please enter DOB\n';
 if (!$w('#groupExperience').value) validationMessage += 'Please provide a brief overview of your/groups expereince\n';
 if (!$w('#courseAims').value) validationMessage += 'Please provide a brief aim of your trip/course\n';
    $w('#validationMessageDetails').text = validationMessage;
    $w('#validationMessageDetails').expand();
}

function participant2(){
 if (!$w('#medicalsOne').value) validationMessage += 'Participant 1 - If no medicals, please enter None\n';
 if (!$w('#ECNameOne').value) validationMessage += 'Participant 1 - Please enter emergency contact name\n';
 if (!$w('#ECNumbOne').value) validationMessage += 'Participant 1 - Please enter emergency contact number\n';
 if (!$w('#datePicker1').value) validationMessage += 'Participant 1 - Please enter DOB\n';
 if (!$w('#nameTwo').value) validationMessage += 'Participant 2 - Please enter a name\n';
 if (!$w('#contactNumbTwo').value) validationMessage += 'Participant 2 - Please enter contact number\n';
 if (!$w('#medicalsTwo').value) validationMessage += 'Participant 2 - If no medicals, please enter None\n';
 if (!$w('#ECNameTwo').value) validationMessage += 'Participant 2 - Please enter emergency contact name\n';
 if (!$w('#ECNumbTwo').value) validationMessage += 'Participant 2 - Please enter emergency contact number\n';
 if (!$w('#datePicker2').value) validationMessage += 'Participant 2 - Please enter DOB\n';
 if (!$w('#groupExperience').value) validationMessage += 'Please provide a brief overview of your/groups expereince\n';
 if (!$w('#courseAims').value) validationMessage += 'Please provide a brief aim of your trip/course\n';
    $w('#validationMessageDetails').text = validationMessage;
    $w('#validationMessageDetails').expand();
}
if ($w('#participants').value === '1') {
    participant1()
 if ($w("#medicalsOne").value && $w('#ECNameOne').value && $w('#datePicker1').value && $w('#ECNumbOne').value
    && $w('#groupExperience').value && $w('#courseAims').value) showOrder();
    }
    
    
 if ($w('#participants').value === '2'){
    participant2()
 if ($w("#medicalsOne").value && $w('#ECNameOne').value && $w('#datePicker1').value && $w('#ECNumbOne').value 
    && $w("#nameTwo").value && $w('#contactNumbTwo').value && $w('#medicalsTwo').value && $w('#ECNameTwo').value && $w('#ECNumbTwo').value && $w('#datePicker2').value
    && $w('#groupExperience').value && $w('#courseAims').value) showOrder();
    }