Walidacja formularza po stronie serwera
Strona 1 z 2 12 OstatniOstatni
Wyniki 1 do 10 z 11

Temat: Walidacja formularza po stronie serwera

  1. #1
    Wiarus Robster awatar
    Dołączył
    30-01-2010
    Skąd
    Częstochowa
    Wpisy
    2 136
    Punkty
    135

    Domyślny Walidacja formularza po stronie serwera

    Witam,

    Może wyda się to śmieszne, ale mam problem z walidacją formularza w Joomla! 2.5 po stronie serwera. A dokładnie o wykorzystanie "joomlowych" metod przeznaczonych do tego celu. W ogóle nie rozumiem co jest w dokumentacji napisane (niedokończonej zresztą), nawet repopulacji formularza nie mogłem ogarnąć :/
    Macie może jakiś link do przykładu z validacją i repopulacją? Bardzo nie chcę tego pisać tego od początku po swojemu, bo nie po to z Joomla korzystam :/
    Nic co jest warte posiadania nie przychodzi łatwo.
    http://robertmatuszewski.pl

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Możesz napisać konkretnie o jaki formularz (pola) i jaką validację (wymagane, zawartość) Ci chodzi.
    Pierwszy raz spotykam się z wyrażeniem: "repopulacja" - co to za stwór?

  4. #3
    Wiarus Robster awatar
    Dołączył
    30-01-2010
    Skąd
    Częstochowa
    Wpisy
    2 136
    Punkty
    135

    Domyślny

    Cześć Jola,

    Chodzi ogólnie o walidację (pola integer, email, min/max liczba znaków). Od dłuższego czasu siedzę na Symfony2 i CodeIgniter, a teraz potrzebuję napisać coś na Joomla! i zwyczajnie się przestawić nie mogę.
    Dokumentacji J! nie potrafiłem czytać od samego początku, więc to co teraz przeczytałem o formularzach w ogóle mi nie wystarcza.

    Obecnie planuje stworzyć własną metodę walidacyjną, którą będę odpalał po submicie formy, ale jest to dla mnie mega nielogiczne, skoro korzystam z frameworka.

    Repopulacja - ponowne załadowanie formularza danymi, z wcześniej wypełnionych pól. Raczej sobie tego nie wymyśliłem, ale kto tam wie ;)
    Nic co jest warte posiadania nie przychodzi łatwo.
    http://robertmatuszewski.pl

  5. #4

  6. #5
    Wiarus Robster awatar
    Dołączył
    30-01-2010
    Skąd
    Częstochowa
    Wpisy
    2 136
    Punkty
    135

    Domyślny

    Na pewno po stronie serwera
    Nic co jest warte posiadania nie przychodzi łatwo.
    http://robertmatuszewski.pl

  7. #6
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Nie wiem czy Ci to pomoże. Przetestuj sobie na zapisie konfiguracji jakiegoś komponentu. Pola:
    Kod PHP:
       <field name="email" type="text" class="inputbox validate-email" description="E-mail" label="E-mail" required="true" validate="email" size="30" />
         <
    field name="numer" type="text" class="inputbox validate-numeric" description="Pole numeryczne" label="Pole numeryczne" required="true"  size="30" /> 
    W pliku: administrator/components/com_config/views/component/tmpl/default.php
    do skryptu javascript u góry dopisz funkcję:
    Kod PHP:
      function sprawdz(taskform){
         if (
    document.formvalidator.isValid(form)){
            
    Joomla.submitform(taskform);
         }
         else {
           
    alert('Błednie wypełniony formularz!');
           return 
    false;
         }
      } 
    a do formularza dodaj dwa przyciski:
    Kod PHP:
     <button type="button" class="validate" onclick="sprawdz('component.apply', this.form);">TEST zastosuj</button>
            <
    button type="button" class="validate" onclick="sprawdz('component.save', this.form);">TEST zapisz</button
    Przetestuj działanie.

  8. #7
    Bywalec
    Dołączył
    29-04-2008
    Skąd
    www.itcent.pl
    Wpisy
    353
    Punkty
    38

    Domyślny

    Co konkretnie chcesz stworzyć? Ja kiedyś bardzo często korzystałem z chronoform i dawało ono praktycznie nieograniczone możliwości.
    Z tego co pamiętam obsługiwało zarówno walidację przez serwer jak i w przeglądarce.

    //Edit: Z tego co widzę dodatek jest cały czas rozwijany: http://www.chronoengine.com/
    www.ITCent.pl - Obsługa informatyczna Puławy

  9. #8
    Wiarus Robster awatar
    Dołączył
    30-01-2010
    Skąd
    Częstochowa
    Wpisy
    2 136
    Punkty
    135

    Domyślny

    @Jola, ale to dalej jest walidacja po stronie klienta :/ Co za problem zmienić sobie w DOM'ie klasy walidacji i filtry na poszczególnych polach? Albo zmienić ten JS tak by zawsze przepuszczał formularz? Skoro @Jola nie skojarzyłaś od razu tematu, a do tej pory znałaś odpowiedzi na wszystkie moje pytania, to chyba Joomla! ma tutaj dużą lukę :/ Zdawało mi się, że we wszystkich frameworkach formularze i ich prosta obsługa, to priorytet. W dokumentacji o walidacji po stronie serwera niby coś jest, ale jest to moim zdaniem NIC :/
    Trudno, napisałem własną klasę walidującą, a jeśli kiedyś uda mi się znaleźć "Joomlaowe" rozwiązanie tej kwestii, to nie omieszkam się z Wami tutaj tym podzielić.

    @tlewap dzięki, ale mnie chodzi o rozwiązanie udostępnianie przez framework (albo CMS troszkę się z tym udostępnianiem bibliotek pogubiłem) Joomla! dla developerów, a nie zewnętrzne dodatki.
    Nic co jest warte posiadania nie przychodzi łatwo.
    http://robertmatuszewski.pl

  10. #9
    Bywalec KES awatar
    Dołączył
    13-05-2011
    Wpisy
    408
    Punkty
    63

    Domyślny

    @Robster jak już pewnie zauważyłeś formularze w Joomla są tworzone poprzez pliki xml.
    Skorzystamy z przykładu który dodała @Jola:
    Kod PHP:
    <form>
       <
    field name="email" type="text" class="inputbox validate-email" description="E-mail" label="E-mail" required="true" validate="email" size="30" />
    </
    form
    Czyli pole o nazwie emaila będzie mieć walidację typu emaila.
    Walidacje w joomla to tzw. rules, klasy typu rules są w:
    Kod:
    libraries/joomla/form/rule
    libraries/cms/form/rule
    zawsze możesz dodać swój własny typ rule, poprzez dodanie w pliku xml ścieżki do folderu z twoimi rule'ami. Np. masz w swoim komponencie rule'e w folderze models/rules i jest on o nazwie twoj_wlasny_rule . To dodajesz go tak:
    Kod PHP:
    <form addrulepath="/administrator/components/com_helloworld/models/rules">
      <
    field name="email" type="text" class="inputbox validate-email" description="E-mail" label="E-mail" required="true" validate="twoj_wlasny_rule" size="30" />
    </
    form
    Więcej poczytać możesz na Joomla Wiki

  11. #10
    Wiarus Robster awatar
    Dołączył
    30-01-2010
    Skąd
    Częstochowa
    Wpisy
    2 136
    Punkty
    135

    Domyślny

    @KES czytałem, ale jakoś nie rozumiem. Chodzi o sam moment walidacji, w którym miejscu (w kodzie z linka który podałeś), jest ona odpalana i są zwracane ewentualne komunikaty z błędami walidacji?
    Nic co jest warte posiadania nie przychodzi łatwo.
    http://robertmatuszewski.pl

Strona 1 z 2 12 OstatniOstatni

Podobne tematy

  1. Zdjęcia z zewnętrznego serwera na stronie
    przez fkuzi555 na forum Galerie, media, obsługa grafiki i innych mediów
    Odpowiedzi: 1
    Ostatni post/autor: 24-02-2013, 10:29
  2. komponent i problem z walidacją formularza
    przez Pawelo31 na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 3
    Ostatni post/autor: 17-11-2012, 12:09
  3. Joomla po migracji z mambo - bialy ekran po wyczyszczeniu cache serwera
    przez 4example na forum Instalacja, aktualizacja, migracje
    Odpowiedzi: 0
    Ostatni post/autor: 07-03-2012, 18:38
  4. aktywowanie formularza na stronie??
    przez zielona na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 0
    Ostatni post/autor: 20-05-2010, 15:38
  5. Przetwarzanie formularza po stronie administracyjnej
    przez Rzast na forum Programowanie pod Joomla!
    Odpowiedzi: 0
    Ostatni post/autor: 20-02-2008, 12:35

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •