Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CodeIgniter]form_validate->callback
acidm
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 3
Dołączył: 12.03.2011
Skąd: Opole

Ostrzeżenie: (0%)
-----


Jak ustwawić regułe w form_validation żeby w własnej funckji walidacji mieć dostęp do danych z dwóch pól jednocześnie?

  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Login extends CI_Controller
  3. {
  4.  
  5.  
  6.  
  7.  
  8. public function index()
  9. {
  10.  
  11.  
  12.  
  13. $this->load->library('form_validation');
  14.  
  15.  
  16. $this->form_validation->set_rules('login', 'użytkownik', 'required|min_length[6]|max_length[20]|alpha_dash|callback_checkuser');
  17. $this->form_validation->set_rules('pass', 'hasło','required|min_length[6]|max_length[20]|alpha_dash');
  18.  
  19.  
  20.  
  21. if ($this->form_validation->run() == FALSE)
  22. {
  23. $this->load->view('login_form');
  24. }
  25. else
  26. {
  27. //tu wlaściwe operacje
  28.  
  29. }
  30.  
  31.  
  32. }
  33.  
  34.  
  35. public function checkuser($str)
  36. {
  37. //tu potrzebuje dostepu do pola login i pass jednocześnie żeby sprawdzić je w bazie
  38. }
  39.  
  40.  
  41.  
  42. }
  43. ?>


Jak dodam do drugiej reguły 'callback_checkuser' to 'checkuser' wywoływane jest dwa razy po jenym parametrze,ja potrzebuje jednego wywołania z dwoma parametrami.

edit Mogłbym ładować w metodzie 'checkuser' dane drugiego pola bezpośrednio z input ale wydaje mi się to jakoś mało eleganckie.

Ten post edytował acidm 11.03.2013, 16:09:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
webmaniak
post
Post #2





Grupa: Zarejestrowani
Postów: 371
Pomógł: 30
Dołączył: 14.04.2010

Ostrzeżenie: (0%)
-----


Wg mojej wiedzy(mogę się mylić oczywiście) nie da się zrobić tak jak chcesz, dlatego że jako callback podajesz jedynie nazwę funkcji, bez parametrów. Możesz utworzyć drugą metodę dla callback. Nic nie stoi na przeszkodzie by utworzyć dodatkową metodę, jako parametry podać login i hasło i sprawdzasz co chcesz. Później sprawdzasz obok form_validation także tą drugą metodę.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 14:16