Stavo provando a convalidare i dati del mio modello utente e mi sono imbattuto in questo problema.Come utilizzare solo determinati set di convalida per la convalida dei dati in Cake PHP?
dire che ho le seguenti regole di convalida, memorizzato nella variabile $ validate:
var $validate=array(
"username" => array(
"usernameCheckForRegister" => array(
"rule" => ...,
"message" => ...
),
"usernameCheckForLogin" => array(
"rule" => ...,
"message" => ...
)
),
//rules for other fields
);
Nel controllore UsersController, ho due azioni: registrare() e il login(). Il problema è: come convalido il campo username nell'azione register() utilizzando SOLO la regola usernameCheckForRegister e come convalido il campo username nell'azione login(), utilizzando l'altra regola, usernameCheckForLogin? C'è un comportamento o un metodo in CakePHP che mi consente di scegliere quale serie di regole applicare a un campo modulo durante la convalida?
Grazie in anticipo per il vostro aiuto!
Le mie domande sarebbero il motivo per cui si desidera convalidare il nome utente al momento dell'accesso? Al momento dell'accesso, l'unica domanda a cui si deve rispondere è "questo nome utente con questa password esiste nel database?" Non dovrebbe importare se il nome utente è valido o meno. Se non lo è, l'accesso fallirà perché il nome utente non esiste comunque. – deceze
Il motivo per cui vorrei convalidare il nome utente al momento dell'accesso è perché sto utilizzando anche una convalida sul lato client, che dirà all'utente se ha lasciato o meno il campo del nome utente vuoto. – linkyndy
Scusa, ancora non lo capisco. :) Un messaggio generico di "Informazioni di accesso non valide" dovrebbe essere sufficiente, forse anche migliore. Le impostazioni di convalida del modello di torta assicurano che solo i dati convalidati vengano salvati nel database. Durante l'accesso, tuttavia, non stai salvando nulla nel database, quindi non dovresti utilizzare le regole di convalida. Se vuoi solo avvisare l'utente di un input vuoto, fallo direttamente senza utilizzare le regole di validazione dei modelli. – deceze