your green haven await: invest in tomorrow's home today

expression of interest

RESERVE YOUR SPOT!
EXPRESSION OF INTEREST
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
investing in a property with us.
Discover your ideal home in CMC-01 Village
Are you seeking a harmonious blend of modern living and sustainable lifestyle? Look no further than CMC-01 Village! Here’s why investing in a property here is a decision you won’t regret:

1. Priority Selection: Get first choice of available plots and homes.

2. Exclusive Pricing: Lock in special pre-construction prices.

3. Customization: Enjoy early access to customization options for your home.

04. Community Involvement: Participate in shaping the community's future.

05. Investment Growth: Benefit from potential property value appreciation.

06. Sustainability Focus: Live in eco-friendly, innovative environment.

07. Access to Amenities: Secure your place in a village with modern amenities.

08. Peace of Mind: Ensure your place in a thriving, future-focused community.

document.addEventListener("DOMContentLoaded", function () { const forms = document.querySelectorAll("form"); forms.forEach(form => { form.addEventListener("submit", function (event) { let isValid = true; const requiredFields = form.querySelectorAll("[required]"); requiredFields.forEach(field => { if (!field.value.trim()) { isValid = false; field.classList.add("error"); addErrorMessage(field, "This field is required."); } else if (field.name === "contactNumber") { // Adjust to your contact field name const contactPattern = /^\+?\d{7,15}$/; // Accepts 7-15 digits, with optional + for country code const cleanedValue = field.value.replace(/\D/g, ""); // Remove non-numeric characters if (!contactPattern.test(cleanedValue)) { isValid = false; field.classList.add("error"); addErrorMessage(field, "Enter a valid contact number (7-15 digits, optional country code)."); } else { clearErrorMessage(field); } } else { clearErrorMessage(field); } }); if (!isValid) { event.preventDefault(); alert("Please complete all required fields correctly."); } }); }); function addErrorMessage(field, message) { clearErrorMessage(field); const errorMessage = document.createElement("span"); errorMessage.textContent = message; errorMessage.classList.add("error-message"); field.insertAdjacentElement("afterend", errorMessage); } function clearErrorMessage(field) { field.classList.remove("error"); if (field.nextElementSibling?.classList.contains("error-message")) { field.nextElementSibling.remove(); } } });