Básicamente, quiero mostrar un texto rojo en un sitio web si el contenido de una entrada no es lo que quiero que ponga la persona. Mi entrada es un número y quiero verificar que el número sea> 15.
Sé cómo verificar eso con jquery, pero para mostrar el texto rojo, estaba pensando en tenerlo ya en el html con una clase oculta y luego eliminar la clase oculta cuando la entrada no es correcta, pero parece un poco sucio? ¿Hay una mejor manera de hacer que aparezca algún texto en ese caso?
https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation
Sin saber de qué tipo de entrada estamos hablando exactamente, y sin código proporcionado, es difícil dar una respuesta exacta para su problema. Pero el atributo de pattern en los formularios debería funcionar cuando se trata de la validación del lado del cliente. Puede usar CSS para personalizar su campo de entrada actual, no hay razón para usar jQuery u objetos ocultos.
De Mozilla:
input:invalid { border: 2px dashed red; } input:invalid:required { background-image: linear-gradient(to right, pink, lightgreen); } input:valid { border: 2px solid black; } <form> <label for="choose">Would you prefer a banana or a cherry?</label> <input id="choose" name="i_like" required pattern="[Bb]anana|[Cc]herry"> <button>Submit</button> </form> Los atributos pattern usan expresiones regulares, por lo que debería poder hacer que valide todo tipo de entradas.
EDITAR:
https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation#using_built-in_form_validation
min y max: especifica los valores mínimo y máximo de los tipos de entrada numérica
input:invalid { border: 2px dashed red; } input:invalid:required { background-image: linear-gradient(to right, pink, lightgreen); } input:valid { border: 2px solid black; } <input type="number" id="choose" name="i_like" min="16">