Foros del Web » Programando para Internet » PHP » Zend »

Validar Input type radio

Estas en el tema de Validar Input type radio en el foro de Zend en Foros del Web. Bueno, les pido ayuda porque no puedo validar un input type radio y ya me trae loco Resulta que tengo dos inputs, de name sexo, ...
  #1 (permalink)  
Antiguo 15/12/2010, 16:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Pregunta Validar Input type radio

Bueno, les pido ayuda porque no puedo validar un input type radio y ya me trae loco

Resulta que tengo dos inputs, de name sexo, y valor "m" (masculino) y "f" (femenino) respectivamente:

Código HTML:
<label for="sexo">Sexo</label>
<input id="sexo_m" class="radio" type="radio" title="Seleccione su g&eacute;nero" autocomplete="off" onfocus="registro.focus(this)" onblur="registro.blur(this)" value="m" name="sexo" tabindex="8">
<label class="list-label" for="sexo_m">Masculino</label>
<input id="sexo_f" class="radio" type="radio" title="Seleccione su g&eacute;nero" autocomplete="off" onfocus="registro.focus(this)" onblur="registro.blur(this)" value="f" name="sexo" tabindex="8">
<label class="list-label" for="sexo_f">Femenino</label> 
La validación de los mismos en javascript ya lo tengo, pero en php no me sale, y nose que puede ser porque probé de todo...

Estos datos son enviados por método POST a un archivo, que lo recibe, y lo valida, y demás.

Probé de las siguientes maneras:

Código PHP:
$sexo $_POST['sexo'];

if(empty(
$_POST['sexo']))
  die(
'Falta el campo');

if(empty(
$sexo))
  die(
'Falta el campo');

if(!isset(
$_POST['sexo']) or empty($_POST['sexo']))
  die(
'Falta el campo'); 
Como lo indican acá: [URL="http://www.forosdelweb.com/f18/validar-input-type-radio-php-704466/#post2936921"]http://www.forosdelweb.com/f18/validar-input-type-radio-php-704466/#post2936921[/URL] pero nada

Lo que quiero es que me detecte cuando el input está vacío, cosa que no pude lograr con empty(), luego que si el input tiene valor distinto de "m" o "f" también pueda detectar, les agredecería mucho que me echen una mano.

Aclaro nuevamente, la validación de estos inputs, en javascript, ya lo tengo..

Saludos!
  #2 (permalink)  
Antiguo 15/12/2010, 17:59
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 45
Respuesta: Validar Input type radio

En lugar de evaluar si está vacío o si la variable no existe o no tiene valor, prueba simplemente a hacer un condicional. Como los valores solo pueden ser f o m:

Código PHP:
<?
$sexo 
$_POST['sexo']; 
if(
$sexo !="f" && $sexo!="m"){
echo 
"No ha completado los datos";
?>
E indico el operador lógico AND ya que la condición requiere que los dos sean TRUE.

Última edición por Rolldi; 15/12/2010 a las 18:12
  #3 (permalink)  
Antiguo 15/12/2010, 18:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: Validar Input type radio

Rolldi, veo que tu respuesta es coherente con lo que planteaste, pero no sé porque motivo no me funciona de esta manera, ya lo había probado antes, he probado de muchas formas, con tres &&&, reemplazando por and, agregando !== al condicional, agregando ! al incicio del if:

Código PHP:
Ver original
  1. $sexo = $_POST['sexo'];
  2. if(!($sexo =="f" && $sexo =="m"))
  3.   die('error');

EL valor del input llega, ya lo probé, los condicionales "simples" me funcionan, me explico:

Código PHP:
Ver original
  1. $sexo = $_POST['sexo'];
  2. if($sexo !="f"){
  3. echo "No ha completado los datos";

Así funciona, el problema es cuando agrego el and, o && que no se porque me trae problemas.

Espero que pueda solucionar, saludos y gracias rolldi!
  #4 (permalink)  
Antiguo 15/12/2010, 18:41
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 14 años, 6 meses
Puntos: 45
Respuesta: Validar Input type radio

Entonces si con un solo condicional simple funciona, prueba a anidar dos condicionales simples.

Código PHP:
$sexo $_POST['sexo']; 
if(
$sexo !="f"){
if(
$sexo !="m"){
echo 
"No ha completado los datos";
}
else{
echo 
"Ha completado correctamente los datos";

else {
echo 
"Ha completado correctamente los datos";

  #5 (permalink)  
Antiguo 15/12/2010, 18:59
 
Fecha de Ingreso: diciembre-2010
Mensajes: 6
Antigüedad: 9 años
Puntos: 0
Respuesta: Validar Input type radio

Mirá, tu script funciona perfecto, ambos, este último no me salía xd, pero probé en un script aparte y va bárbaro, voy a ver porque mi script se retoba con esta validación :E

Muchas gracias..

Un saludo!

Etiquetas: input, php, radio, type
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:11.