Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CI] Walidacja - czy wartość należy do tablicy
Forum PHP.pl > Forum > PHP > Frameworki
markonix
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.
sunpietro
zawsze możesz stworzyć callback, który następnie wykorzystasz do walidacji w CI:
http://codeigniter.com/user_guide/librarie....html#callbacks
markonix
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ć?
sunpietro
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.
markonix
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. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.