- Title: Member
- Status: Offline
- Registered: 04-02-2008
- Posts: 101
Topic: [1.2] Validazione Avanzata
mi sono impostato il mio bel modello perchè mi faccia un controllo su alcuni campi, e per l'inserimento funziona perfettamente.
il problema è quando devo fare le modifiche, visto che alcuni di quei campi non devono essere toccati... ma nelle regole di validazione sono presenti, quindi ovviamente mi dice che quei campi non sono validi.
come faccio a gestire questa situazione? cioè escludere quei campi dalla validazione, quando effettuo determinate operazioni?
- Title: Administrator
- Status: Offline
- From: Padova
- Registered: 04-02-2008
- Posts: 46
Re: [1.2] Validazione Avanzata
Mmmm forse puoi:
- usare saveField sui campi che ti servono (di default non valida)
Model::saveField($name,
$value,
$validate = false)
- usare il save senza validazione, quindi secondo parametro settato a false
Model::save($data,
$validate = true,
$fieldList = array() )
- provare a usare il terzo parametro di save: $fieldList, che non ho idea di come si comporti. Nella pagina delle API dice solo "$fieldList List of fields to allow to be written"
- Title: Member
- Status: Offline
- From: Udine
- Registered: 04-02-2008
- Posts: 31
Re: [1.2] Validazione Avanzata
Basta usare la clausola on nella dichiarazione delle regole di validazione (in questo modo la regola è valida solo o in creazione o modifica), oppure ti crei un metodo personalizzato di validazione che tiene conto dell'azione corrente per la quale viene fatta la validazione (tramite una variabile di stato interna).
Last edited by zuck (05-04-2008 09:14:15)
- Title: Member
- Status: Offline
- Registered: 04-02-2008
- Posts: 101
Re: [1.2] Validazione Avanzata
intanto grazie, però non vi offendete, ma non è che ho capito molto come funziona il tutto :p
il comando savefield sembrerebbe comodo però non fa al caso mio (ho da salvare tutti i campi di una tabella, tranne uno)
ora provo a guardare $fieldList.
zuck il tuo consiglio sembra interessante ma non ho capito proprio come funziona... se non sbaglio posso mettere, da qualche parte del modello, che la validazione X deve essere eseguita solo in alcuni casi... sarebbe una figata, hai qualche link che ne spiega il funzionamento?
- Title: Member
- Status: Offline
- From: Udine
- Registered: 04-02-2008
- Posts: 31
Re: [1.2] Validazione Avanzata
Fa parte del nuovo sistema di validazione della 1.2...Il funzionamento è semplice, basta dichiarare una regola nel seguente modo:
campo_xxx => array('rule' => array(...),
'on' => 'created'
);
In questo modo la regola viene applicata solo durante la creazione. Se invece imposti "modified" la regola di validazione verrà usata solo in fase di modifica. Guarda l'API delle 1.2 (e il cookbook nella sezione relativa al sistema di validazione, sempre della 1.2).

- Title: Member
- Status: Offline
- Registered: 04-02-2008
- Posts: 101
Re: [1.2] Validazione Avanzata
ah ok... non è male anche se speravo in qualcosa di meglio (tipo che fosse possibile i mpostare la validazione in base all'azione) :p
- Title: Administrator
- Status: Offline
- From: Pisa
- Registered: 04-02-2008
- Posts: 102
Re: [1.2] Validazione Avanzata
ToX wrote:ah ok... non è male anche se speravo in qualcosa di meglio (tipo che fosse possibile i mpostare la validazione in base all'azione) :p
Visto il buon consiglio ricevuto sticko la discussione 
Per quanto riguarda la validazione è stata molto potenziata nella 1.2, praticamente puoi gestire tutto in automatico 
Posts [ 7 ]
Guest posting is disabled. You must login or register to post a reply.
Topic info
0 guests and 0 users are reading this topic now
Currently used extensions: pun_topic_online_users, pun_karma, pun_admin_hook_navigator, pun_bbcode. Copyright © 2008 PunBB