Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CI] Walidacja - czy wartość należy do tablicy, Dozwolone wartości
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Czy w CI jest jakaś flaga walidująca czy dana wartość należy do dozwolonych?
Proste in_array np. is_cos_tam[jeden,dwa].

Chciałbym walidować tym np. input typu select.


--------------------
Go to the top of the page
+Quote Post
sunpietro
post
Post #2





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

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


zawsze możesz stworzyć callback, który następnie wykorzystasz do walidacji w CI:
http://codeigniter.com/user_guide/librarie....html#callbacks


--------------------
Go to the top of the page
+Quote Post
markonix
post
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Tak, wiem jednakże to tylko miejscowe rozwiązanie.

Przejrzałem całą klasę walidacji i nie widzę tego co szukam i teraz pytanie jak to dopisać (pomijając edycje samej klasy)?
Utworzyć własną klasę walidacji i rozszerzyć?

Ten post edytował markonix 28.06.2012, 20:48:50


--------------------
Go to the top of the page
+Quote Post
sunpietro
post
Post #4





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

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


tak jak napisałem, musisz napisać wlasną funkcję która będzie dołączona do walidacji jako callback (trzeci parametr). W tej własnej funkcji będziesz sprawdzał czy wartość znajduje się w pożądanym zakresie.


--------------------
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


To wiem, ale ja chce elastyczne rozwiązanie.
Sama teoria callbacków jest mi znana.

Stworzyć chce dodatkowy parametr który będzie miał składnie in_array[wartosc1,wartosc2].

<?php
  1. class MY_Form_validation extends CI_Form_validation {
  2. function __construct()
  3. {
  4. parent::__construct();
  5. }
  6.  
  7. /**
  8.   * In array
  9.   *
  10.   * @access public
  11.   * @param string
  12.   * @param string
  13.   * @return bool
  14.   */
  15. public function in_values($str, $values)
  16. {
  17. return (bool)in_array($str, explode(',', $values));
  18.  
  19. }
  20.  
  21. }


Ten post edytował markonix 28.06.2012, 22:08:05


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 02:40