Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]modyfikacja danych przesłanych z formularza
AxZx
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


witam

można w pliku validate/profil.yml zrobić coś takiego, że wartość z jednego pola w formularzu będzie zmieniona przez jakąś moją funkcję? albo helper?

a chodzi o to, że jest formularz, w jednympolu user wpisuje jakąś wartość, a w drugim polu ta sama wartość jest potraktowana pewną funkcją do zmiany - pobieram tą wartość AJAXem. ale tak czy siak trzeba by tą wartość później jeszcze raz przefiltrować.
nie chce tego robić w akcji.
mam kilka formularzy, ale jedną akcję. dlatego chciałbym móc to robić w osobnym pliku, który będzie dotyczył tylko jednego formularza.

dzieki za zrozumienie i pomoc:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


nie wiem jak to zmienić:(

taki kod ?
  1. <?php
  2. public function execute(&$value, &$error)
  3.    {
  4.        $value = 'test';
  5.        return true;
  6.    }
  7. ?>


chciałbym, żeby ta wartość test była zapisana w bazie.

EDIT:
ale gafa:)
w modelu wystarczyło nadpisać metodę (albo raczej rozszerzyć) zapisującą daną kolumną.
szkoda, że nie można samemu sobie dać pomógł(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

EDIT2:
jednak to nie takie proste jak mi się wydawało.
problem w tym, że ta kolumna jest unikalna. w walidacji chcę sprawdzić czy już taki wpis jest w bazie.

załóżmy, że w bazie jest wpis "janek-2"
user wpisze "janek 2"
w klasie sfPropelUniqueValidator w bazie szukany jest wierszy który ma w kolumnie X wartość "janek 2" no i nie znajdzie czyli pozwoli zapisać. a ja zmodyfikowałem funkcje setX tak żeby zrobiła z "janek 2" "janek-2".
w efekcie będzie błąd z bazy, że jest duplikat.

przydałoby się, żeby można było w metodzie execute klasy walidacji modyfikować wartość, która pojawi się w formularzu.
tylko jak to zrobić?
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: 28.12.2025 - 12:43