Announcement

Collapse
No announcement yet.

Validate field passport or cedula....

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Validate field passport or cedula....

    Spanish
    buenas necesito la ayuda o la guia de como crear un campo llamado cedula o passport... Es decir que sean unicos y no se puedan repetir
    y lo otro seria q me realize algun tipo de algoritmo de validacion para verificar q los 10 digitos son correctos......
    Gracias de antemano

    english
    good day... I need a help guide to how create a field like passport ... Which means they are only and may not repeat
    and the other is about a some type of algorithm validation to verify the 10 digits of the field correct ......
    Thanks in advance

  • #2
    I don't understand the question I'm affraid. If you want to test the validity of a passport number then I think you can google on 11proof test to determine a check digit. To prevent double numbers you can create a unique index on the password field in your database table.
    Albert Drent
    aducom software netherlands
    scriptcase partner, reseller, support and (turn-key) development
    www.scriptcase.eu / www.scriptcase.nl

    Comment


    • #3
      this is the code for a passport or cedula of 10 digits all validates.. but i create a blank aplication and copy and paste the code but make errors..... pleae can you helpme.. to put on sc???

      the code:


      <body>

      <?php


      // funcion para validar la cedula de Ecuador//


      function validarCI($strCedula)
      {
      //aqui explico la logica de la validacion de una cedula de ecuador
      //El decimo Digito es un resultante de un calculo
      //Se trabaja con los 9 digitos de la cedula
      //Cada digito de posicion impar se lo duplica, si este es mayor que 9 se resta 9
      //Se suman todos los resultados de posicion impar
      //Ahora se suman todos los digitos de posicion par
      //se suman los dos resultados
      //se resta de la decena inmediata superior
      //este es el decimo digito
      //si la suma nos resulta 10, el decimo digito es cero

      if(is_null($strCedula) || empty($strCedula)){//compruebo si que el numero enviado es vacio o null
      echo "Por Favor Ingrese la Cedula";
      }else{//caso contrario sigo el proceso
      if(is_numeric($strCedula)){
      $total_caracteres=strlen($strCedula);// se suma el total de caracteres
      if($total_caracteres==10){//compruebo que tenga 10 digitos la cedula
      $nro_region=substr($strCedula, 0,2);//extraigo los dos primeros caracteres de izq a der
      if($nro_region>=1 && $nro_region<=24){// compruebo a que region pertenece esta cedula//
      $ult_digito=substr($strCedula, -1,1);//extraigo el ultimo digito de la cedula
      //extraigo los valores pares//
      $valor2=substr($strCedula, 1, 1);
      $valor4=substr($strCedula, 3, 1);
      $valor6=substr($strCedula, 5, 1);
      $valor8=substr($strCedula, 7, 1);
      $suma_pares=($valor2 + $valor4 + $valor6 + $valor8);
      //extraigo los valores impares//
      $valor1=substr($strCedula, 0, 1);
      $valor1=($valor1 * 2);
      if($valor1>9){ $valor1=($valor1 - 9); }else{ }
      $valor3=substr($strCedula, 2, 1);
      $valor3=($valor3 * 2);
      if($valor3>9){ $valor3=($valor3 - 9); }else{ }
      $valor5=substr($strCedula, 4, 1);
      $valor5=($valor5 * 2);
      if($valor5>9){ $valor5=($valor5 - 9); }else{ }
      $valor7=substr($strCedula, 6, 1);
      $valor7=($valor7 * 2);
      if($valor7>9){ $valor7=($valor7 - 9); }else{ }
      $valor9=substr($strCedula, 8, 1);
      $valor9=($valor9 * 2);
      if($valor9>9){ $valor9=($valor9 - 9); }else{ }

      $suma_impares=($valor1 + $valor3 + $valor5 + $valor7 + $valor9);
      $suma=($suma_pares + $suma_impares);
      $dis=substr($suma, 0,1);//extraigo el primer numero de la suma
      $dis=(($dis + 1)* 10);//luego ese numero lo multiplico x 10, consiguiendo asi la decena inmediata superior
      $digito=($dis - $suma);
      if($digito==10){ $digito='0'; }else{ }//si la suma nos resulta 10, el decimo digito es cero
      if ($digito==$ult_digito){//comparo los digitos final y ultimo
      echo "Cedula Correcta";
      }else{
      echo "Cedula Incorrecta";
      }
      }else{
      echo "Este Nro de Cedula no corresponde a ninguna provincia del ecuador";
      }


      }else{
      echo "Es un Numero y tiene solo".$total_caracteres;
      }
      }else{
      echo "Esta Cedula no corresponde a un Nro de Cedula de Ecuador";
      }
      }
      }


      $accion=$_GET["accion"];
      $cedula=validarCI($_GET["cedula"]);


      if($accion=="Validar"){

      echo $cedula;

      }else{

      echo "no hay nada";

      }

      ?>
      <form action="index.php" method="GET" >
      <h1>Validacion de Cedula Ecuatoriana</h1>
      <b>Cedula</b><input type="text" name="cedula" value="" >
      <input type="submit" name="accion" value="Validar">


      </form>




      </body>
      </html>

      Comment


      • #4
        Go to tools _> libraries and put your validation for the number there and save it. Then go to your application where you need the check. Go to application->libraries and check the filename where your function is. Then in the onvalidate event of the same application call the module:

        (assume you return an error code when failure}


        if (validarCI({myFormField)!=0)
        {
        errormessage here
        }
        Albert Drent
        aducom software netherlands
        scriptcase partner, reseller, support and (turn-key) development
        www.scriptcase.eu / www.scriptcase.nl

        Comment

        Working...
        X