No confíes nunca en los datos que se pasan al servidor desde el cliente. Incluso si tu formulario se valida correctamente y evita la introducción de datos con formato incorrecto en el lado del cliente, un usuario malintencionado puede alterar la petición de red.
¿Prefieres un plátano o una cereza?
Enviar
input:invalid {
border: 2px dashed red;
}
input:valid {
border: 2px solid black;
}
¿Prefieres un plátano o una cereza? (requerido)
Enviar
input:invalid {
border: 2px dashed red;
}
input:invalid:required {
background-image: linear-gradient(to right, pink, lightgreen);
}
input:valid {
border: 2px solid black;
}
¿Prefieres un plátano o una cereza?
Enviar
¿Cuántos te gustaría comer?
const email = document.getElementById("mail");
email.addEventListener("input", function (event) {
if (email.validity.typeMismatch) {
email.setCustomValidity(
"¡Se esperaba una dirección de correo electrónico!",
);
} else {
email.setCustomValidity("");
}
});
Por favor, introduzca una dirección
de correo electrónico:
Enviar
function showError() {
if (email.validity.valueMissing) {
// Si el campo está vacío
emailError.textContent =
"Debe introducir una dirección de correo electrónico.";
} else if (email.validity.typeMismatch) {
// Si el campo no contiene una dirección de correo electrónico
emailError.textContent =
"El valor introducido debe ser una dirección de correo electrónico.";
} else if (email.validity.tooShort) {
// Si los datos son demasiado cortos
emailError.textContent =
"El correo electrónico debe tener al menos ${ email.minLength } caracteres; ha introducido ${ email.value.length }.";
}
// Establece el estilo apropiado
emailError.className = "error activo";
}
// Hay menos formas de elegir un nodo DOM con navegadores antiguos
const form = document.getElementsByTagName("form")[0];
const email = document.getElementById("mail");
// Lo siguiente es un truco para llegar al siguiente nodo de elementos hermanos en el DOM
let error = email;
while ((error = error.nextSibling).nodeType != 1);
// según la especificación HTML5
const emailRegExp =
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
// Función para manejar eventos en navegadores antiguos
function addEvent(element, event, callback) {
let previousEventCallBack = element["on" + event];
element["on" + event] = function (e) {
const output = callback(e);
if (output === false) return false;
if (typeof previousEventCallBack === "function") {
output = previousEventCallBack(e);
if (output === false) return false;
}
};
}
funciones-en-javascript-4a5nic2.gamma.site
Funciones en JavaScript
Hay un momento, en todo desarrollo, que acabas reutilizando el mismo código una y otra vez. Puede ser que esté formado por un par de líneas o cientos de ellas. A nivel de organización es más práctico crear un grupo capaz de ser invocado que ir copiando y pegando en diferentes sitios. Además que para
eventos-en-javascript-bd42iyz.gamma.site
Eventos en JavaScript
Cualquier actividad producida por un usuario se denomina Eventos: pulsar una tecla, mover el ratón, hacer scroll, pulsar un botón… Y todos los eventos pueden ser escuchados para lanzar acciones. En otras palabras, podemos detectar y vincular cada evento a una funcionalidad de JavaScript. ¡Incluso ex
guia-pruebas-usabilidad-9w1v30d.gamma.site
Guía sobre pruebas de usabilidad de sitios web
Un diseño web atractivo y una experiencia de usuario agradable son elementos vitales para el éxito de un sitio web. Descubre cómo evaluar y mejorar la usabilidad de tu página web para aumentar la credibilidad y la tasa de conversión.