Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: chuck777 en 17 Junio 2013, 22:34 pm



Título: VALIDACION CAMPO DOUBLE
Publicado por: chuck777 en 17 Junio 2013, 22:34 pm
Buenas tardes , estoy realizando una aplicacion, en la cual tengo un formulario donde el usuario debe de ingresar un monto (Double), lo que quiero es validar que el usuario no meta un valor errado, por ejemplo : 356,14 el valo correcto deberia ser 356.14.... quiesiera que me ayudar en validar ese campo.. Estoy trabajando con PHP+MYSQL

De antemano muchas gracias !!!!


Título: Re: VALIDACION CAMPO DOUBLE
Publicado por: engel lex en 17 Junio 2013, 22:54 pm
que tal si en vez de evitar que el usuario meta un mensaje errado no simplemente le haces un str_replace entre la coma y el punto y listo?


Título: Re: VALIDACION CAMPO DOUBLE
Publicado por: :ohk<any> en 18 Junio 2013, 15:01 pm
Bueno si el valor introducido es 356,14 no hay mucho problema, puedes usar el str_replace o tambien puedes darle number_format(), de cualquier forma se puede arreglar...

En caso de que el usuario ponga un número mas elevado como por ejemplo: 172.881.827,14 o ponga 172,881,827.14 y utilizas el str_replace de forma indistinta tendrás otro problema entre manos...

Lo mejor es realizar una validación con JS al momento de introducir el dato en el formulario (creo yo) y con PHP hacer una validación adicional, finalmente en Mysql poner el campo de tipo DECIMAL(10,2).

Saludos


Título: Re: VALIDACION CAMPO DOUBLE
Publicado por: chuck777 en 18 Junio 2013, 15:31 pm
Muchas Gracias por las respuesta.. ya pruebo a ver como me va con str_replace y les cuento!!!!


Título: Re: VALIDACION CAMPO DOUBLE
Publicado por: chuck777 en 18 Junio 2013, 16:18 pm
Listo ... Muchas gracias

$cadena = $_POST['ind1'];
         $cadena = str_replace (",", ".", $cadena);
         $cadena2 = $_POST['ind2'];
         $cadena2 = str_replace (",", ".", $cadena2);
                        
         // Insertar Datos en la Tabla

         $sql="INSERT INTO det_indicadores_ofi_recaudacion(ID_DET_INDICADOR,ID_OFICINA,ID_INDICADOR,MES,MONTO1,MONTOA,MONTO2,CANTCLI,CLIACT) VALUES ('',                                                                                '1','1','$mes','$cadena','$cadena2','','','');";