CAMPO NUMERICO PER NUMERO DI TELEFONO/CEL.

19 contenuti / 0 new
Ultimo contenuto
CAMPO NUMERICO PER NUMERO DI TELEFONO/CEL.

Ciao a tutti sto creando una form di registrazione con cck....ma non riesco a capire come fare per avere un campo solo numerico senza lettere consentite...se usa il campo decimal mi fa inserire solo numeri e fin qui ok....ma quando mi registro e inserisco il numero con lo zero iniziale nel campo numero di telefono (es: 0824....) dopo visualizzerò solo (824....senza lo zero)....qualcun mi saprebbe dire come risolvere???

Bella domanda...

Tutorial, guide e moduli per drupal su www.cmswiki.net

E da quando in qua un numero di telefono è un decimale?
Credo che ci sia comunque un modulo per CCK che permette di inserire un n. di telefono e forse fa una specie di validazione.
http://drupal.org/project/phone

e questo potrebbe risolvere il problema del numero di telefono...ma se devo fare un campo numerico e basta ke si deve prendere anke lo zero iniziale...come faccio???

nessuno mi aiuta???

Un campo numerico e basta che si deve prendere lo zero iniziale non è un numero ma una stringa. Fai un campo testuale e poi scrivi una fuzioncina PHP per validare la stringa in base ai parametri di cui hai bisogno. Tale funzione va messa nel campo dei valori permessi per il campo, selezionando l'opzione per il codice PHP.

Ti ringrazio, ma nn è ke mi potresti aiutare per questa piccola funzioncina visto ke nn capisco abbastanza di php...grz

Ammesso che il numero debba essere composto solo di numeri, potresti usare qualcosa tipo:

$ok = TRUE;
$numero = $node->field_telefono[0]['value'];
for($i = 0; $i < strlen($numero); $i++) {
   if (!is_numeric($numero[$i])) {$ok = FALSE; break;}
}
return $ok;

GRazie....ho usato il codice ke mi hai postato...ma nn va :°°°(

tra le varie opzioni, considererei anche quella di aggiungere il prefisso "0" ad un campo numerico.
L'opzione "prefisso" è già presente in numeric feld e quindi di facilissima implementazione.
Ovviamente questo sistema non è adatto a numerazioni del tipo 001, 010, 999, ma in alcuni casi può essere sufficiente

questa del prefisso non è una buona soluzione nel mio caso...ma grazie cmq

Il mio codice potrebbe contenere qualche errore, ma quella è la strada da seguire.
In che cosa non funziona?

premetteno ke nn ne capisco molto...creo un campo testo con cck...poi incollo il tuo codice php e cmq posso inserire del semplice testo oltre i numeri, mentre io vorrei il campo fosse solo per i numeri....scusa se continuo a darti fastidio, ma nn sn pratico

Dove lo metti il mio codice?

in Allowed values ---> php code

La validazione avviene solo quando effettui il submit, non mentre digiti.
Se vuoi validare mentre digiti, devi attaccare del codice JS al campo di testo. E comunque questo non sostituisce la successiva validazione (un utente senza JS potrebbe inserire caratteri non validi).

Potrebbe essere interessante il creare un modulo per cck che faccia entrambe le cose, magari usando una regex...

nessun altro suggerimento per creare un campo numerico???

nessuno mi aiuta? :(

Scusa, sono andato a rivedere il campo PHP dei valori permessi e non deve ritornare un valore booleano, ma un array di valori validi.
In questo caso, bisogna creare un array di tutti i valori possibili. Per costruirlo tramite una funzione, mi devi dire secondo te quante cifre minimo/max deve avere un numero di telefono e se basta come regola che cominci per 0.

Comunque ribadisco che qui stiamo reinventando la ruota. Ci sono già dei moduli per inserire un n. tel. come campo CCK e delle validazioni che probabilmente sono più raffinate di questo sistema.