Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 24 Marzo 2019, 19:33 PM

Título: [Pregunta]: No enviar espacios vacíos
Publicado por: Leguim en 24 Marzo 2019, 19:33 PM
Buenas.

Estoy intentando que un formulario no envié campos vacíos, lo cual funciona bien pero cuando el usuario sólo envía espacios en blanco, digamos las X ahora son Espacios en blanco, Digamos que envía esto al formulario.. "XXXXXXX" las X son todos espacios en blanco algo así => "           " pero el sistema no lo reconoce como vacío y se muestra igual, alguna manera de prevenir esto usando alguna función de PHP? Gracias!
Título: Re: [Pregunta]: No enviar espacios vacíos
Publicado por: dac en 24 Marzo 2019, 21:39 PM
Los campos de entrada <input ...> deben tener el atributo required, así el navegador prohíbe  dejar el campo en blanco. Justamente, como tu dices, esto solo soluciona parte del problema: entradas con solo espacios son consideradas como "no-vacias".

Si bien podrías validar esto en el lado del servidor (con PHP en tu caso) e indicar al usuario que su entrada es invalida, también podrías hacerlo en el lado del cliente con javascript. Idealmente en ambos extremos.

Como ejemplo si tienes un <input id="nombre" type="text"> podrías validarlo con javascript en un botón de envío, o cuando el input pierda el foco


let inputValue = document.getElementById("nombre").value;

if (inputValue.trim() == '') {
   alert("Campo nombre invalido");
}
Título: Re: [Pregunta]: No enviar espacios vacíos
Publicado por: Leguim en 24 Marzo 2019, 23:25 PM
Cita de: alx741 en 24 Marzo 2019, 21:39 PM
Los campos de entrada <input ...> deben tener el atributo required, así el navegador prohíbe  dejar el campo en blanco. Justamente, como tu dices, esto solo soluciona parte del problema: entradas con solo espacios son consideradas como "no-vacias".

Si bien podrías validar esto en el lado del servidor (con PHP en tu caso) e indicar al usuario que su entrada es invalida, también podrías hacerlo en el lado del cliente con javascript. Idealmente en ambos extremos.

Como ejemplo si tienes un <input id="nombre" type="text"> podrías validarlo con javascript en un botón de envío, o cuando el input pierda el foco


let inputValue = document.getElementById("nombre").value;

if (inputValue.trim() == '') {
   alert("Campo nombre invalido");
}


Buenas! gracias desde ya por el tiempo en contestar a mi pregunta, ese fragmento de código JS como podría hacerlo pero con PHP?
Título: Re: [Pregunta]: No enviar espacios vacíos
Publicado por: Leguim en 26 Marzo 2019, 04:59 AM
alguna ayudita?  ;-)