Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


BugsBunny
Napisane: 20.09.2012, 22:38:39





Grupa: Zarejestrowani
Postów: 206
Dołączył: 2.04.2005

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

Jeżeli próbujesz coś znaleźć w kodzie HTML to idziesz złą drogą. Wyrażenia regularne stosuj tylko wtedy gdy nie ma innego wyjścia.

Do tego celu proponuję http://php.net/manual/en/book.simplexml.php

jeżeli już musisz użyć regex:

  1. preg_replace('/method\ *=\ *"([a-zA-Z]+)"/','method="POST"', $mCaloscFormularza);
  2.  
  Forum: PHP · Podgląd postu: #993993 · Odpowiedzi: 3 · Wyświetleń: 277

BugsBunny
Napisane: 20.09.2012, 22:27:49





Grupa: Zarejestrowani
Postów: 206
Dołączył: 2.04.2005

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

Cytat(peter13135 @ 20.09.2012, 10:45:00 ) *
  1. if($request->getMethod() == 'POST')//wysłany formularz
  2. {
  3. $form->bindRequest($request);
  4.  
  5. $this->validate($form, $formFieldDefinitions);
  6. if($form->isValid())//formularz jest prawidłowy
  7. {
  8. //wysyłam formularz do bazy
  9. }
  10. }



  1. private function validate($form, $formFieldDefinitions)
  2. {
  3. $formData = $form->getData();
  4. forach(pola as pole)//w tej pętli sprawdzam czy pole jest nieprawidłowe. Jeśli tak, to dodaje błąd.
  5. {
  6. $field = $form->get(tutaj nazwa pola);
  7. if(pole nieprawidłowe)
  8. {
  9. $error = new FormError("nazwa błędu",array());
  10. $field->addError($error) ;
  11. }
  12. }
  13. }


To oczywiście tylko kluczone fragmenty kodu.

To działa zarąbiście, sam sobie waliduje i dodaje błędy do formularza i te błędy się wyświetlają.
Ale dodałem sobie sobie pole integer i jeśli jest ono błędnie wypełnione, to pokazuje "This value is not valid". Skąd się bierze ten błąd ? Ja mam swoją walidację i nie korzystam z żadnej innej, a tu symfony nadgorliwie mi go waliduje. Ja chciałbym mieć swój błąd "wpisana wartość nie jest liczbą całkowitą", albo coś takiego. Problem w tym, że wtedy metoda addError nie działa (nie mogę dodać swojego błędu) i wyświetla się tylko ten standardowy błąd This value is not valid

Czy da się wyrzucić tą walidacje ?


To działa zarąbiście, sam sobie waliduje i dodaje błędy do formularza i te błędy się wyświetlają

Do zarąbistości jeszcze tutaj daleko. Pisanie reguał walidacji w kontrolerze to droga do nikąd. To samo możesz uzyskać przez zdefiniowanie reguł w modelu.
Najprawdopodobniej isValid uruchamia walidator i sprawdza jakie masz zdefiniowane typy danych w modelu, a potem porównuje je z wartościami podanymi w formularzu. Jak potrzebujesz zrobić coś lepszego to w modelu dopisz odpowiednie reguły nad polami. Jak będziesz potrzebował czegoś jeszcze bardziej wyrafinowanego to polecam lekturę tworzenia formularzy w symfony2.
  Forum: Frameworki · Podgląd postu: #993988 · Odpowiedzi: 6 · Wyświetleń: 1 859

BugsBunny
Napisane: 20.09.2012, 23:24:34





Grupa: Zarejestrowani
Postów: 206
Dołączył: 2.04.2005

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

http://stackoverflow.com/questions/2120401...ile-performance


Odpowiedź numer dwa.
  Forum: Frameworki · Podgląd postu: #994006 · Odpowiedzi: 3 · Wyświetleń: 322

BugsBunny
Napisane: 15.09.2012, 15:16:33





Grupa: Zarejestrowani
Postów: 206
Dołączył: 2.04.2005

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

Błąd wydaje się oczywisty, korzystasz z windowsa, a srypt probuje zapisać do linuxowego /tmp.

Jest to albo błąd bundla (nie korzysta ze ścieżki tmp z ini_get. Musisz przeanalizować kod tego bundla
  Forum: Frameworki · Podgląd postu: #992761 · Odpowiedzi: 3 · Wyświetleń: 779


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 20:20