![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 1 Dołączył: 2.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z walidowanie formularza w symfony 1.2 a dokładnie nie uwzględnia reguł zamieszczonych w folderze validate/*.yml
Mam standardowy zrobiony formularz
Reguły walidacji działają jedynie z klasy rejestracjaForm a nie są brane też pod uwage wpisy z /validate/*.yml Szukałem na forum symfony lecz tam nawet przykładu podobnego do mojego nie znalazłem. Ja wykorzystuje do generowania formularza klase sfForm i być może dlatego nie działają reguły walidacji z /validate/update_rejestracja.yml bo reguly walidacji pobiera z klasy rejestracjaForm, Mi zależy aby można było wykorzystać własne walidatory np.
Nie wiem w czym jest problem. Ten post edytował kaniagandzowski 24.01.2009, 22:41:53 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 3 Dołączył: 4.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Walidacja z validate/*.yml była tylko w Symfony 1.0, od 1.1 jest niezalecana: "The features described in this section are deprecated in symfony 1.1 and only work if you enable the sfCompat10 plugin." (źródło).
Aby utworzyć własny validator dla Form Framework'a z którego korzystasz musisz dziedziczyć po klasie sfValidatorBase, a nie sfValidator. Niestety The symfony Forms Book nie dotarł do rozdziału o tworzeniu własnych walidatorów. Przyglądając się jednak jak wyglądają dostarczone, np. sfValidatorString dla pojedynczych pól, czy sfValidatorSchemaCompare dla post-validatorów da się napisać własny. Parametry dla validatorów np. dla passwordValidator umieszczasz w konstruktorze (ustawiając setValidators): Kod 'password' => new sfValidatorString( (opis tego również w The Symfony Forms Book).array('required' => true, 'min_length'=>5 ), array('required'=>'twoje haslo jest wymagane', 'min_length' => 'haslo musi miec minimum %min_length% znakow') ); Albo więc musisz zrezygnować z Form Framework'a i pisać formularze tak jak to było w Symfony 1.0 i mieć walidację w plikach *.yml, albo wpisać walidację w klasę formularza za pomocą właściwych klas. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:06 |