Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]Walidacja formularza
ceieneka
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 6.08.2009

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


Witam
Uczę się Symfony robiąc portal który wcześniej zrobiłem bez frameworka, i mam problem przy walidacji formularza. Googluje caly dzien probuje coraz nowszych (glupszych) rozwiazan i ciagle nic. Chociaz pomoc dotyczaca walidacji formularzy jest obszerna to jednak tam jest mowa o formularzach stworzonych na podstawie modelu przez propela lub doctrine. Czy moglby mi ktos pomoc w walidacji prostego formularza kontaktowego sa w nim pola:

imię i nazwisko - poprzednio walidowalem tak
  1. if(!eregi("(^[a-ząćęłńóśźż]{3,} [a-ząćęłńóśźż]{2,}$)|(^[a-ząćęłńóśźż]{3,} [a-ząćęłńóśźż]{2,}-[a-ząćęłńóśźż]{2,}$)",$imie))
  2. {
  3. $errors[0]="Imię i nazwisko - pole składa się z dwóch członów oddzielonych spacją:<br/> -imię: dozwolone są wyłącznie litery, musi składać się co najmniej z trzech liter<br/> -nazwisko: dozwolone są wyłącznie litery,w przypadku nazwisk dwóczłonowych łącznikiem jest znak '-', człon musi składać się z conajmniej dwóch znaków.<br/><br/>";
  4. $prawidlowo=false;
  5. }


adres e-mail -
  1. if(!eregi("^[0-9a-ząćęłńóśźż_.-]+@[0-9a-ząćęłńóśźż\.]{2,}.[a-z]{2,3}$",$mail))
  2. {
  3. $errors[1]]="Adres email.<br/><br/>";
  4. $prawidlowo=false;
  5. }


wiadomość -
  1. if(strlen($wiadomosc)>1000)
  2. {
  3. $errors[2]="Wiadomość - maksymalnie może zawierać 1000 znaków.<br/><br/>";
  4. $prawidlowo=false;
  5. }


Niby prosty formularz (IMG:style_emoticons/default/sciana.gif)
Formularz wystepuje w module kontakt, w katalogu lib/form stworzylem plik KontaktForm.class.php (bo chyba powinienem co nie?(IMG:style_emoticons/default/questionmark.gif) ) ktory wyglada tak:
  1. class KontaktForm extends sfForm
  2. {
  3. public function configure()
  4. {
  5. $this->setWidgets(array('mail' => new sfWidgetFormInput(),'wiadomosc' => new sfWidgetFormTextarea(),'nazwa' => new sfWidgetFormInput(),'company' => new sfWidgetFormInput()));
  6. $this->setValidators(array('mail' => new sfValidatorEmail(),'wiadomosc' => new sfValidatorString(array('max_length' => 1500,'required' => true)),'nazwa'));
  7. }
  8. }

Ale nie wiem jak dodac warunki z ifow do validatora. Nie brechtajcie sie jesli to glupoty, bo w ogole nie jarze tych formularzy (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Nie chodzi o to, że ktoś nie ma cierpliwości, czy też ktoś pozjadał wszystkie rozumy i nie chce podzielić się swoją wiedzą. Raczej chodzi o to, że pisanie dokumentacji to dosyć trudna sprawa. Zazwyczaj dokumentacja nie powstaje lub jest lakoniczna. Dokumentacja do symfony (potwierdzają to także przeciwnicy symfony) jest na prawdę na wysokim poziomie. Niestety, trzeba poświęcić trochę czasu na zapoznanie się z dokumentacją i frameworkiem. Doceń ten trud i zapoznaj się z materiałami.
Zrobiłeś cały Jobeet? Jak zrobisz to wróć i pytaj wtedy. Nie da się ściągnąć, coś dopisać i wszystko działa.

Cytat
w miejsce XXXX w indexsuccess dalem @kontakt_valid (tez nie wiem skad takie cos mi do glowy przyszlo - improwizuje po prostu)

Dodałeś trasy w pliku routing.yml?
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: 13.10.2025 - 13:37