form_set_value: dove la invoco?

3 contenuti / 0 new
Ultimo contenuto
form_set_value: dove la invoco?

Salve.
Sto realizzando un modul che, tramite form_alter, aggiunge dei campi al form.
Il valore di questi campi andrà a sovrascrivere dei campi cck che io tengo nascosti in fase di editing.
Questi campi che tengo nascosti devono essere obbligatori.
Mi chiedo in quale hook debba richiamare la funzione form_set_value per funzionare.
Sia hook_submit che hook_validate sono eseguite DOPO i normali processi di validazione, quindi la pubblicazione del mio nodo non va a buon fine perchè il campo cck nascosto risulta vuoto.
Detto ciò: in quale hook devo richiamare questa funzione per fare sì che i campi siano riempiti PRIMA dei normali processi di validazione?

Grazie,
Sergej

Non è una soluzione pulita, ma un opzione è di andare a fare (nell'hook_validate, o meglio, nel hook_nodeapi con $op = 'validate') la modifica del valore. Devi anche essere sicuro che il tuo validate venga fatto prima dell'altro, quindi devi andare ad impostare il weight della tabella system.

Questa è la soluzione sporca ma veloce... altrimenti puoi andare a giocare con alcuni hook di CCK, ma dipende dal field e la modifica che devi fare.

UPDATE: puoi anche inserirlo nel valore

<?php
$form
['#validate'] = array();
// Oppure per l'lelemtno:
// $form['nome_elemento']['#validate'] = array();
?>

e giocare su questo array aggiungendo la tua validazione o modificando le funzioni di validazione già assegnate..

Ciao
Marco
--
My blog
Working at @agavee

Ook, grazie della risposta, proverò a fare così :)