New Color logo rsph clear

Using Globally Proven Technology for your Employees Control of SAFE Work across the entire Mining Operation

 

Mining Weekly – 24th March 2023

Often, when talking about technologies for safer and smarter mining operations, we think of autonomous vehicles, unmanned diggers, collision awareness censors, nitrogen-filled tyres to reduce the risk of fire, rigs, hard hats and safety boots, maybe even virtual glasses used for artisanal training in remote or isolated areas, ropes and harnesses, etc.

But what if we consider something as seemingly insignificant, even bothersome as Work Permits?

Stay up to date.

Sign up our newsletter for latest article and news.
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 = ""; } } });