Posted by lukio on September 14, 2009 at 10:18pm
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
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
Victor Kane
http://awebfactory.com
Re: Para agregar reglas de validación
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