2016-09-28 1 views
0

Voici mon contrôleurCodeigniter validation du formulaire

function register(){ 
     $_POST['username'] = $_GET['username']; 
       $this->load->library('form_validation'); 
       $this->load->helper('form'); 
     $this->form_validation->set_rules('username', 'username', 'required|trim|xss_clean|min_length[5]'); 
     if($this->form_validation->run()) 
     { 

     } 
     var_dump(form_error('username')); 
} 

Puis-je tester ce funtion avec la maison/inscrire? Nom d'utilisateur = test ??? J'ai essayé mais ça ne fonctionnait pas

+0

Vous voulez dire que 'http: // localhost/home/nom d'utilisateur = enregistrer test'? –

+0

oui, je veux le tester et l'écho form_error: D –

+0

vérifier ces liens (http://stackoverflow.com/questions/10883949/codeigniter-validation-possible-to-validate-get-query-strings) [question de la pile 1] [question de pile 2] (http://stackoverflow.com/questions/10524992/how-do-i-validate-a-form-field-in-codeigniter-when-using-get-parameters) –

Répondre

0

Eh bien, en dehors de votre question étant un peu déroutant, je pense que la réponse est non. Vous ne pouvez pas tester une demande de publication avec une requête get à partir des paramètres d'URL.

La façon de tester une demande de poste est d'afficher les données de test requises.

Je suis assez sûr cela est exact, cependant, comme je l'ai dit à votre question était un peu confus, alors si je manque votre point, je présente mes excuses à l'avance.

Si vous voulez tester la validation pas à partir d'un poste, vous pouvez utiliser les règles de validation sur un tableau.

$data = array(
    'username' => 'johndoe', 
    'password' => 'mypassword', 
    'passconf' => 'mypassword' 
); 

$this->form_validation->set_data($data); 

Vous pouvez en savoir plus à ce sujet ici: http://www.codeigniter.com/user_guide/libraries/form_validation.html#validating-an-array-other-than-post