Clicky

Skocz do zawartości


Zdjęcie
- - - - -

Callbacks w regułach filtru/walidacji [SOLVED]

2 odpowiedzi w tym temacie
kohana 3.2 callback validation

  • Zaloguj się, aby dodać odpowiedź

#1 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 30 listopad 2013 - 00:06

Cześć.

 

W tabeli mam kolumny "user_ip" oraz "user_browser" - wartości będą pobierane z klasy Request - zawsze będą przyjmować wartości obecnie przeglądającego stronę użytkownika - więc nie chce za każdym razem w modelu do wartości (values) dopisywać tych dwóch kolumn.

 

Pomyślałem o filtracji w modelu (tj: "filters") - tylko nie wiem w jaki sposób zbudować funkcje, która zwróci odpowiednie wartości. W tej chwili filtry, które nadałem w ogóle nie reagują - do bazy zapisuje się pusty string.

 

public function filters()
{
return array
(
'user_ip' => function($value) {
return Request::$client_ip;
},
'user_browser' => function($value) {
return Request::$user_agent;
}
);
}
 
Debugowałem zmienną $value - ale w ogóle nawet nic tutaj nie jest brane pod uwagę - żadnej reakcji (dopisywałem die() aby sprawdzić działanie). Podejrzewam, że składniowo to źle wprowadziłem, ponieważ jeszcze nigdy nie stosowałem takich zapisów.
 
PS. Wiem, że mógłbym dopisać funkcje (oddzielną np. helper) i odwołać się bez problemu w filtrze, ale nie chce tworzyć nowej funkcji, aby zwracała taką prostą wartość. Próbowałem również "na sztywno" przypisać od razu dla 'user_ip' => Request::$client_ip, ale też nie podziałało.
 
Ktoś wie jak podejść do tematu?


#2 Maciek

Maciek

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 780 postów

Napisano 30 listopad 2013 - 00:45

Nie wiem czy czytałeś w dokumentacji o filtrach, ale są one uruchamiane w momencie ustawienia danego pola.

 

W Twoim przypadku chyba najlepiej będzie rozszerzyć metodę zapisującą dany model, czyli np. metodę save w przypadku modelu ORM.



#3 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 30 listopad 2013 - 12:31

Racja, źle podszedłem do tematu. Problem rozwiązany - rozszerzyłem metodę save() ;-)







Również z jednym lub większą ilością słów kluczowych: kohana 3.2, callback, validation

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych