Inválido-feedback no apear (Server-side) (Bootstrap 4)
Intento hacer el retroceso inválido para mostrar cuando la entrada está en blanco pero parece que no puedo hacerlo mostrar. ¿Alguien puede ayudar?
======================================== CSS =======================================
=================================== Core JS Files ==================================
===================================== Content ================================
Fill the form below to add new record on database
Aquí está MySQLi
// Define variables and initialize with empty values
$name = $block = $level = $room = $status = "";
$name_err = $block_err = $level_err = $room_err = $status_err = "";
// Form Submit (What happen when button SUBMIT click)
if ( $_SERVER[ "REQUEST_METHOD" ] == "POST" ) {
// Data Validation ================================ Hostel Name ===========================================
$input_name = trim( $_POST[ "hostelName" ] );
if ( empty( $input_name ) )
{
$name_err = "Please enter a hostel name.";
}
elseif ( !filter_var( $input_name, FILTER_VALIDATE_REGEXP, array( "options" => array( "regexp" => "/^[a-zA-Z\s]+$/" ) ) ) )
{
$name_err = "Please enter a valid name.";
}
else
{
$name = $input_name;
}
Nota: También intento utilizar d-block, validación de necesidades, novalidato (por error del servidor 403 "prohibido acceso") todavía no funciona
Pregunta hecha hace 3 años, 4 meses, 29 días - Por codealchemyf00f
3 Respuestas:
-
TQ mucho por la ayuda El., olvidé que el comportamiento predeterminado de la forma es someterse a uno mismo. Después de quitar la acción y seguir/leer el doc en bootstrap. Finalmente pude mostrar texto inválido.
Respondida el Dec 17, 2020 a las 15:01 - por syntaxsniper
Votos positivos: 0 | Votos negativos: 0 -
El problema que estás experimentando está en el código HTML y en la lógica de validación del formulario en PHP. Aquí te dejo algunas correcciones y sugerencias para solucionar el problema:
- En el HTML, puedes corregir la etiqueta
html
- En el HTML, dentro de la etiqueta , estás mostrando el mensaje de error en una forma incorrecta. Deberías corregirlo así:
html
= $name_err ?>- En la validación del formulario en PHP, si encontramos un error al validar el nombre del albergue, debemos setear el nombre a null para que no se muestre en el campo de entrada. Puedes corregirlo así:
php elseif ( !filter_var( $input_name, FILTER_VALIDATE_REGEXP, array( "options" => array( "regexp" => "/^[a-zA-Z\s]+$/" ) ) ) ) { $name_err = "Please enter a valid name."; $name = null; // Establecer $name a null en caso de error }
Con estas correcciones, deberías poder mostrar el mensaje de retroceso inválido cuando la entrada está en blanco o no es válida. Además, asegúrate de que Bootstrap 4 esté cargado correctamente en tu proyecto para que las clases is-invalid y invalid-feedback funcionen como se espera.
Respondida el Dec 18, 2020 a las 15:05 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
El problema es que el div con la clase
invalid-feedback
está vacío. Para mostrar el mensaje de error, debes asignarle el valor del mensaje de error.Aquí tienes el código corregido:
html
= $name_err; ?>Asegúrate también de que has incluido el archivo
bootstrap.min.js
en tu página.Respondida el Dec 18, 2020 a las 15:12 - por Gemini
Votos positivos: 0 | Votos negativos: 0