Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] "sfValidator not found"
Forum PHP.pl > Forum > PHP > Frameworki
zimi
jestem trochę zagubiony chciałem napisać swój walidator i dostałem taki komunikat... powinienem rozszerzać w wersji 1.1 i kolejnych sfValidatorBase? jakiś środek zaradczy?
Cezar708
zapewne przeczytałeś Creating a Custom Validator, i zapewne napisałeś poprawnie swój validator i umieściłeś w odpowiedniej lokalizacji. A po wszystkim przeczyściłeś kesz:

Kod
$ symfony clear-cache


W takim razie napisz dokładnie jaki błąd Ci wyskoczył...

Pozdro!
zimi
było jak mówisz smile.gif
validator nie jest długi więc go wkleję... jest taki
  1. <?php
  2. class CategoryExistsValidator extends sfValidator
  3. {
  4.  public function execute(&$id, &$error)
  5.  {
  6.    $category = CategoryPeerretrieveByPK($id);
  7.    return (bool)$category;
  8.  }
  9. }
  10. ?>

umieściłem go w katalogu lib modułu category
wyczyściłem cache'a otrzymałem
Fatal error: Class 'sfValidator' not found in E:\cmsdlafirm\apps\backend\modules\category\lib\CategoryExistsValidator.class.php on line 2
Cezar708
Cytat(zimi @ 30.09.2008, 12:37:36 ) *
Fatal error: Class 'sfValidator' not found in E:\cmsdlafirm\apps\backend\modules\category\lib\CategoryExistsValidator.class.php on line 2


spróbuj jeszcze z:
  1. <?php use_helper('Validation') ?>

w pliku template

z tego co widzę projekt nie zaincludował samej klasy sfValidator, czyli nie jest to problem z includowaniem Towjej klasy
zimi
nie zadziałało co mnie też specjalnie nie dziwi
bo zasadniczo chce używać formularzy 1.1 i formularz i walidatory potrzebne są już kontrolerze, a w 1.0 wygląda to chyba trochę inaczej
takie są moje przypuszczenia
Cytat
z tego co widzę projekt nie zaincludował samej klasy sfValidator, czyli nie jest to problem z includowaniem Towjej klasy

mniej więcej to miałem na myśli pisząc w tytule że to sfValidator nie został znaleziony smile.gif
chciałem się przerzucić na sfValidatorBase tylko nie wiem jak z nim pisać validatory rozszerzając tą klasę a kursu do tego chyba nie ma ?O.o
destroyerr
No niestety nie jest tak. Zacznijmy od początku.
Nie ładuje Ci klasy sfValidator ponieważ jest to klasa z sf1.0 i znajduje się ona w pluginie compat. Kompatybilność masz wyłączoną dlatego też klasy nie ładuje. Walidatory w nowych formularzach musisz dziedziczyć po sfValidatorBase.

Podany link do dokumentacji odnosi się tak naprawdę nadal do wersji 1.0. Dokumentacja w tym miejscu nie została zmieniona, ale powstała osobno książka dla formularzy. Jednak nie opisuje ona zbyt wiele.
Nie dawno powstał artykuł opisujący znacznie więcej podstaw. Z nim też niestety jest mały problem, ponieważ opisuje rzeczy których nie ma. Znajduje się jednak opis rzeczy, które Cię powinny interesować. W skrócie: Twój walidator musi dostarczyć dwie metody: configure, doClean.

Przepisanie Twojego walidatora nie powinno przynieść problemów, jeśli jednak tak to napisz winksmiley.jpg
zimi
Zanim odkryłem że napisałeś udało mi się już przepisać walidator
tak podejrzewałem że sfValidator pochodzi z 1.0...
wkurzająca jest ta książka do 1.1 mimo że jest tak naprawdę dla 1.0... ksiażkę o formularzach też w zasadzie przeczytałem ale tam o tworzeniu walidatorów nie ma zbyt wiele
w rezultacie wziałem sobie sfValidatorString poczytałem źródła i przerobiłem validator i jest ok...

btw. configure nie trzeba winksmiley.jpg

dzięki za pomoc winksmiley.jpg
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.