Este es mi formulario y estoy tratando de mostrar los detalles enviados como un objeto. La duda que tengo es ¿cómo puedo evitar que se envíe el formulario cuando los campos están vacíos? Quiero verificar si todas las funciones anteriores validate()
son verdaderas o no y luego ejecutar la función de validación si no es verdadera, evitar que se envíe el formulario. Los errores que se muestran permanecen allí en el formulario incluso después del envío. He intentado actualizar la ventana usando window.location.reload()
pero luego el objeto que quiero se pierde con este método. ¿Hay alguna manera de que pueda lograr esto?
x = "correct" function nameValidate(value) { namev = value; if (namev.length <= 3) { var nameError = "Enter a valid name" document.getElementById("nameerror").innerHTML = nameError //return 1; } else { document.getElementById("nameerror").innerHTML = x //return 0; } } function emailValidate(value) { emailv = value; if (emailv.length < 5) { var emailError = "Enter a valid email" document.getElementById("emailerror").innerHTML = emailError //return 1; } else { document.getElementById("emailerror").innerHTML = x //return 0; } } function companyValidate(value) { if (value === "") { var companyError = "Enter a valid company"; document.getElementById("companyerror").innerHTML = companyError; //return 1; } else { document.getElementById("companyerror").innerHTML = x; //return 0; } } function phoneValidate(value) { phonev = value; if ( phonev.length !== 10 ) { var phoneError = "Enter a valid 10 digit phone number"; document.getElementById("phoneerror").innerHTML = phoneError; //return 1; } else { document.getElementById("phoneerror").innerHTML = x; //return 0; } } function validate(e) { /* Variables for field values and form */ var name=document.getElementById("name").value; var email=document.getElementById("email").value; var company=document.getElementById("company").value; var phone=document.getElementById("phone").value; var desc=document.getElementById("description").value; var project=document.getElementById("project").value; var form = document.getElementById("form"); //e.preventDefault(); console.log({name,email,company,phone,desc,project}); form.reset(); } //form.addEventListener("submit",validate(),true);