Validazione CCK field

12 contenuti / 0 new
Ultimo contenuto
Validazione CCK field

Ciao a tutti,
sto cercando di risolvere un problema, ma ho grosse difficoltà
Ho creato dei contenuti con il modulo CCK, ma vorrei inserire per alcuni campi delle politiche di valutazione in fase di creazione del contenuto.
Ho trovato il modulo CCK Validation ma non vorrei usarlo visto che non è più sviluppato.
Mi chiedevo se qualcuno può darmi delle dritte su come inserire all'interno del campo Allowed values del codice php per validare la formattazione di una stringa, casomai con una regular expression.

Grazie mille a tutti

senza sapere quale tipo di validazione devi fare è difficile darti suggerimenti.
...

Ciao Scusami per l'omissione

dovrei inserire

2 numeri - 3 Lettere Maiuscole - 6 numeri

grazie mille

ah ok.
sfortunatamente non c'è una soluzione immediata ma diverse opzioni (AFAIK) e tutte richiedono un po' di PHP:
- usare il modulo http://drupal.org/project/rules con una regola "execute custom PHP code" che modifica o valida il testo inserito
- usare più campi per fare immettere il testo all'utente e "riunirli" + modificarli in un nuovo campo calcolato con il modulo http://drupal.org/project/computed_field
- usare più o meno allostesso modo il modulo http://drupal.org/project/covert_fields
- creare un campo ad hoc via modulo con codice di validazione custom incluso

...ci saranno sicuramente anche altri sistemi

Il codice PHP per validare, nel form di modifica di OGNI campo CCK non va bene?

Ciao
il problema è come usare tale codice, un pò di dimestichezza con php ce l'ho ma non riesco a capire come inserire il codice
Cosa più semplice di quella di prima vorrei che nel campo numero di telefono non ci fosse la possibilità di inserire caratteri solo [0-9]

come si può fare?

Grazie ancora

@guerai78: il codice di validazione PHP che puoi inserire permette solo di calcolare a runtime i campi che possono essere validi, e non di andare a intercettare il valore inserito per poterlo validare[1] (cosa che invece puoi fare con i moduli citati). L'unica soluzione che mi verrebbe in mente è di fare un form_alter per inserire la tua funzione di validazione per il campo del field, ma non è sicuramente la soluzione più semplice e veloce.

[1] La funzione content_allowed_values a riga 1694 del file content.module contiene l'eval, ma come puoi notare non ti permette di intercettare il valore del campo a priori.

Ciao
Marco
--
My blog
Working at @agavee

Grazie tante per la risposta
cercherò a questo punto di seguire i consigli e risolvere il problema
Grazie ancora

Potresti farlo in javascript o JQuery

Gabriele

Ciao
potresti farmi un esempio su come fare con una di queste tecniche?

Te ne sarei molto grato

Altrimenti, più facilmente di javascript e Jquery, potresti usare il modulo Validation API.
Dopo averlo installato, vai nella pagina di configurazione (Amministra->Costruzione del sito->Validation API->Impostazioni) e seleziona "Add a validator link". Poi accedi a Validators (Amministra->Costruzione del sito->Validation API->Validators) e imposta i parametri di validazione (usando PHP o le espressioni regolari)
Esempio:
Nome: codFiscale
Tipo: Regular Expression
Rule: /^[a-zA-Z]{6}\d\d[a-zA-Z]\d\d[a-zA-Z]\d\d\d[a-zA-Z]/
Default message: Incorrect format

Adesso vai nella creazione del contenuto del tipo di contenuto nel quale sono presenti i campi per cui vuoi fare la validazone. Noterai che sotto ogni campo è presente un link con scritto "Add a validators to field_". Cliccando su quel link puoi selezionare il tipo di validazione (nel nostro esempio codFiscale) per il campo selezionato.

Spero di essere stato utile.
ciao

Gabriele

Grazie mille proverò e appena possibile e ti faccio sapere

Grazie ancora