2010-09-08 6 views
0

Existe-t-il un moyen de définir un rappel de validation qui n'est pas lié à un champ particulier, mais est nécessaire pour réussir la validation?CodeIgniter Form Validation - rappel non lié à un champ

+0

Comme définir une règle que tous les champs doivent passer? Pouvez-vous donner un exemple? –

+0

Eh bien, j'ai une forme dynamique relativement complexe ... J'ai une section de mon formulaire qui est rempli dynamiquement pour afficher un nom de personne, une case à cocher, et une entrée de texte correspondante. Les entrées de texte ne sont importantes que si leur case respective est cochée. Pour que la validation réussisse, au moins une case à cocher doit être cochée et sa saisie de texte doit avoir une valeur. J'ai créé le rappel et cela fonctionne, je ne sais pas quoi lier à – andrhamm

Répondre

0

Ajoutez un champ masqué à votre formulaire et affectez le rappel un champ. Le rappel n'a pas à se rapporter au contenu du champ caché . Editer: Ou, d'ailleurs, vous pouvez affecter le rappel à l'un de vos champs avec d'autres règles de validation. Pas besoin d'un champ caché.

1

Oui vous pouvez et est ici un exemple cruddy:

$this->load->library('form_validation'); 
$this->form_validation->set_rules('username', 'lang:lang_username', 'required|callback_check_login'); 

Ensuite, pour le rappel:

public function check_login($username) 
{ 
    $username = $this->input->post('username'); 
    $password = $this->input->post('password'); 
    $remember = $this->input->post('remember'); 

    $login = $this->users_auth->login($username, $password, $remember); 
    if ($login !== TRUE) 
    { 
     $this->form_validation->set_message('check_login', $login); 
     return FALSE; 
    } 
    else 
    { 
     return TRUE; 
    } 
} 
+0

Bonne réponse Eric. – janosrusiczki

Questions connexes