janka74
(Giancarloalbanese 74)
February 3, 2012, 8:47am
1
[size="2"][color="#1c2837 "]Sto realizzando un form di registrazione,[/color][/size]
[color="#1c2837 "][size="2"]nel model sto scrivendo tutte le rules da seguire, come ad esempio[/size][/color]
[size="2"][color="#1c2837 "]email e password da valorizzare obbligatorie ed email univoca.[/color][/size]
[size="2"][color="#1c2837 "]
[/color][/size]
[size="2"][color="#1c2837 "]Al momento il problema che non riesco a risolvere è che[/color][/size]
[size="2"][color="#1c2837 "]in caso di email doppia, il form mi obbliga prima a valorizzare tutti i campi[/color][/size]
[size="2"][color="#1c2837 "]e solo dopo mi informa che la mail è già stata utilizzata.[/color][/size]
[size="2"][color="#1c2837 "]
[/color][/size]
[size="2"][color="#1c2837 "]Quello che mi piacerebbe fare è dare la priorità:[/color][/size]
[size="2"][color="#1c2837 "]1) controlli che la mail sia inserita[/color][/size]
[size="2"][color="#1c2837 "]2) controlli che la mail sia formalmente valida[/color][/size]
[color=#1C2837][size=2]3) che la mail non sia già stata inserita[/size][/color]
[size="2"][color="#1c2837 "]4) che la password sia stata immessa[/color][/size]
[size="2"][color="#1c2837 "]ecc. ecc.[/color][/size]
[size="2"][color="#1c2837 "]
[/color][/size]
[size=“2”][color="#1c2837 "]E’ possibile? O sto chiedendo troppo a yii ?[/color][/size]
igiuggiu
(Giuliano Ingrosso)
February 3, 2012, 7:21pm
2
[size="2"][color="#1c2837 "]Sto realizzando un form di registrazione,[/color][/size]
[color="#1c2837 "][size="2"]nel model sto scrivendo tutte le rules da seguire, come ad esempio[/size][/color]
[size="2"][color="#1c2837 "]email e password da valorizzare obbligatorie ed email univoca.[/color][/size]
[size="2"][color="#1c2837 "]
[/color][/size]
[size="2"][color="#1c2837 "]Al momento il problema che non riesco a risolvere è che[/color][/size]
[size="2"][color="#1c2837 "]in caso di email doppia, il form mi obbliga prima a valorizzare tutti i campi[/color][/size]
[size="2"][color="#1c2837 "]e solo dopo mi informa che la mail è già stata utilizzata.[/color][/size]
[size="2"][color="#1c2837 "]
[/color][/size]
[size="2"][color="#1c2837 "]Quello che mi piacerebbe fare è dare la priorità:[/color][/size]
[size="2"][color="#1c2837 "]1) controlli che la mail sia inserita[/color][/size]
[size="2"][color="#1c2837 "]2) controlli che la mail sia formalmente valida[/color][/size]
[color=#1C2837][size=2]3) che la mail non sia già stata inserita[/size][/color]
[size="2"][color="#1c2837 "]4) che la password sia stata immessa[/color][/size]
[size="2"][color="#1c2837 "]ecc. ecc.[/color][/size]
[size="2"][color="#1c2837 "]
[/color][/size]
[size=“2”][color="#1c2837 "]E’ possibile? O sto chiedendo troppo a yii ?[/color][/size]
con le rule dici quali regole devono seguire i dati inseriti nel form.
puoi fare quel controllo nel controller prima di salvare. se cè una mail doppia non procede al salvataggio e segnala l’errore.
ga.n
(Ga N)
February 4, 2012, 8:40am
3
dai un’occhiata a clientvalidation e ajaxValidation magari valuta se usarli entrambi
janka74
(Giancarloalbanese 74)
February 4, 2012, 12:23pm
4
Che è esattamente quello che faccio.
Solo che ti avvisa solo alla fine (durante il validation) che la mail è doppia.
Prima il validation (compreso quello ajax) ti fa compilare tutti i campi mancanti.
@ga.n li uso insieme, ma anche quello ajax si comporta ugualmente
ga.n
(Ga N)
February 5, 2012, 10:22am
5
Questa è la mia funzione rules nel model User e avvisa l’utente immediatamente (usando ajaxValidation) in caso di email doppia:
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('username, email, customer_id', 'required'),
array('password, repeat_password', 'required', 'on'=>'insert'), /* resetPassword, insert */
array('username, email', 'unique'),
array('email', 'email'),
array('customer_id', 'numerical', 'integerOnly'=>true),
array('username, email', 'length', 'max'=>128),
array('password, repeat_password', 'length', 'min'=>8, 'max'=>40),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('id, username, email, customer_id', 'safe', 'on'=>'search'),
array('repeat_password', 'safe', 'on'=>'insert,update'), /* resetPassword, insert */
array('repeat_password', 'compare', 'compareAttribute'=>'password'),
);
}