Tengo algunos formularios para iniciar sesión/registrarse o continuar como invitado usando firebase. Quiero que el usuario se vea obligado a ingresar un correo electrónico para que pueda identificarlo cuando venga a recoger su pedido y enviarle un recibo después de que haya pagado. No hay nada que impida que el usuario simplemente inspeccione el elemento y elimine el campo requerido, y las funciones de Firebase se llaman desde el front-end, por lo que ni siquiera puedo usar mi servidor para verificar que haya un correo electrónico.
¿Hay alguna manera de mitigar esto? Además de las soluciones específicas de Firebase, ¿hay alguna forma de mitigar este problema con todos los campos obligatorios? Obviamente, hay una forma en que otros sitios web implementan esto, pero no estoy seguro de cómo
Tal vez ejecute una secuencia de comandos para verificar si el atributo requerido se eliminó, pero eso también se puede eliminar o editar.
Puede verificar si el campo en cuestión existe y tiene un valor.
const form = document.forms.form; form.onsubmit = () => { event.preventDefault(); signInAnonymously(event.currentTarget.elements.email); }; function signInAnonymously(email) { if (email && email.value) { console.log("Authenticate with Firebase anonymously"); } else { console.log("Email is required") } } <form name="form"> <label> <b>Email:</b> <input name="email" type="email" required> </label> <button>Sign In Anonymously</button> </form>