Validar campo CUIT

Events happening in the community are now at Drupal community events on www.drupal.org.
lukio's picture

Hola drupaleros !
Estoy usando cck y necesito agregar el campo CUIT a un tipo de contenido. Quisiera poder validar si el numero ingresado es un cuit valido. Para esto se que existe la siguiente funcion[0]. Existe la forma de pasarle los datos a cck para que los valide antes de salvar el contenido?

abrazos!
lukio

[0] Funcion validar CUIT:

function UfValidStrCuit($cuit,&$resultado)
{

    $coeficiente[0]=5;
$coeficiente[1]=4;
$coeficiente[2]=3;
$coeficiente[3]=2;
$coeficiente[4]=7;
$coeficiente[5]=6;
$coeficiente[6]=5;
$coeficiente[7]=4;
$coeficiente[8]=3;
$coeficiente[9]=2;

    $resultado=1;

for ($i=0; $i < strlen($cuit); $i= $i +1) {    //separo cualquier caracter que no tenga que ver con numeros
     if ((Ord(substr($cuit, $i, 1)) >= 48) && (Ord(substr($cuit, $i, 1)) <= 57))
      {
          $cuit_rearmado = $cuit_rearmado . substr($cuit, $i, 1);
        }
  }

If (strlen($cuit_rearmado) <> 11) {  // si to estan todos los digitos
        $resultado=0;
  } Else {
       $sumador = 0;
      $verificador = substr($cuit_rearmado, 10, 1); //tomo el digito verificador

        For ($i=0; $i <=9; $i=$i+1) {
          $sumador = $sumador + (substr($cuit_rearmado, $i, 1)) * $coeficiente[$i];//separo cada digito y lo multiplico por el coeficiente
       }

     $resultado = $sumador % 11;
        $resultado = 11 - $resultado;  //saco el digito verificador
        $veri_nro = intval($verificador);

     If ($veri_nro <> $resultado) {
           $resultado=0;
      } else {
          $cuit_rearmado = substr($cuit_rearmado, 0, 2) . "-" . substr($cuit_rearmado, 2, 8) . "-" . substr($cuit_rearmado, 10, 1);
     }
  }
}

Comments

Para agregar reglas de validación

victorkane's picture

Tenés que escribir un pequeño módulo que agregue validación para este elemento implementando el hook "hook_form_alter" en base del form_id del tipo de contenido.

Un ejemplo bueno lo encontrarás en http://www.chromaticsites.com/blog/drupal-tutorial-form-overrides-and-el... (busca "form_overrides_toa_validate").

O

podés usar http://drupal.org/project/validation_api que ha hecho todo el trabajo para tí.

Victor Kane
http://awebfactory.com.ar

Re: Para agregar reglas de validación

lukio's picture

Hola Victor !
Muuuuy bueno ! Al final termine usando el módulo validation_api y me funciono sin ningún problema. Para mostrar los mensajes de error estoy usando el módulo http://drupal.org/project/better_messages

un abrazo!

Luciano Rossi
http://www.gcoop.com.ar

--
Luciano Rossi
gcoop.coop

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: