New Color logo rsph clear

Digital Transformation in Agribusiness

The agribusiness industry in sub-Saharan Africa faces intense challenges, including constant pressure to meet the demand of feeding a population increasing at 1.2 births per second, and growing safety and environmental concerns.

Rifle-Shot Celebrates 20th Anniversary

From its beginnings as an off-shoot from Dimension Data and Futuristix, and driven by wanting to better serve the manufacturing, mining and metals, oil and gas, and energy sectors

Dilley Naidoo Interview with Mining Weekly

“Mining companies need to approach environmental, social and governance (ESG) principles on a truth and reconciliation footing and be honest about where they are on a scale of one to 10”, says Rifle-Shot Performance business development director Dilley Naidoo.

document.addEventListener("DOMContentLoaded", function () { // 1. Select all MetForm elements on the page const forms = document.querySelectorAll(".metform-form-content"); forms.forEach(function (form) { form.addEventListener("submit", function (event) { // 2. Find the email input field inside this specific form const emailInput = form.querySelector('input[type="email"]'); if (!emailInput) return; const emailValue = emailInput.value.trim().toLowerCase(); // 3. Define the list of forbidden free email domains const blockedDomains = ["gmail.com", "hotmail.com", "outlook.com", "live.com", "yahoo.com"]; // 4. Extract the domain from the entered email address const emailParts = emailValue.split("@"); if (emailParts.length !== 2) return; const emailDomain = emailParts[1]; // RESTORED: Targets the domain string after the @ // 5. Check if the domain is in our blocked list if (blockedDomains.includes(emailDomain)) { // Prevent the form from submitting to MetForm's servers event.preventDefault(); event.stopPropagation(); // 6. Handle error messaging removeExistingError(form); showErrorMessage(emailInput, "Please use a business email address. Free email providers (Gmail, Hotmail, etc.) are not allowed."); } else { removeExistingError(form); } }, true); // Use capturing phase to intercept MetForm's submit handler early }); // Helper function to inject a clean error message below the input field function showErrorMessage(inputElement, message) { inputElement.style.borderColor = "#ff4d4d"; const errorDiv = document.createElement("div"); errorDiv.className = "metform-custom-error"; errorDiv.innerText = message; errorDiv.style.color = "#ff4d4d"; errorDiv.style.fontSize = "13px"; errorDiv.style.marginTop = "5px"; errorDiv.style.fontWeight = "500"; inputElement.parentNode.appendChild(errorDiv); } // Helper function to clear previous error messages on retry function removeExistingError(formElement) { const existingError = formElement.querySelector(".metform-custom-error"); if (existingError) { existingError.remove(); } const emailInput = formElement.querySelector('input[type="email"]'); if (emailInput) { emailInput.style.borderColor = ""; } } });