21 komentářů k článku Nette Framework: Neprůstřelné formuláře:

  1. Kajman

    Validace dle regexp

    Nehodilo by se i obecné validační pravidlo, kde jen zadám v parametru
    regulární výraz? Nebo je raději vynecháno, aby si člověk psal jednoduché
    validační funkce a nesvádělo ho to k hůře čitelným regulárům?

  2. Aichi

    validace skupin

    V odkazovanem foru, ktere je zavreno si lide stezuji na nemoznost validace
    urcitych bloku – po odeslani jednim tlacitkem chci validovat, druhym nechci.
    Tohle ma docela dobre vyreseno Prado, ma tzv. validacni skupiny, takze muzu
    rict, ze tri inputy a jedno tlacitko jsou v jedne skupine a dalsi v druhe. Pak
    v zavislosti na odeslani formu danym tlacitkem se provede validace jen nad temi
    prvky co jsou s nim ve skupine.

    Btw, jak se projevi odeslani formulare Entrem? pak tam neni zadny cudlik,
    kterym byl form odeslan.

  3. Mastodont

    Po sté to samé?

    $form->addRadioList(‚gen­der‘, ‚Pohlaví:‘, $sex);
    $form->addText(‚email‘, ‚E-mail:‘);
    $form->addCheckbox(‚pro­mo‘, ‚zasílejte mi reklamu‘);
     …

    Já nevím … když pominu to, že to je ikstá varianta toho, co se dá už
    léta splašit třeba na phpclasses.org i jinde, mi uniká smysl toho, abych
    pokaždé dynamicky vytvářel formulář, který pak vždy
    vypadá stejně. Jako utilita pro tvorbu HTML šablon
    formulářů to je dobré. Ale do aplikace … Co třeba metody pro vytváření
    dynamických seznamů nebo check boxů, načítajích data
    z databáze, jsou?

    1. David GrudlAutor příspěvku

      Re: Po sté to samé?

      Tak šup, alespoň jeden odkaz na phpclasses.org s komponentou, která umí
      totéž a disponuje stejnými bezpečnostními prvky. Těším se.

    2. danaketh

      Re: Po sté to samé?

      Stejně by se dalo říct, že na HotScripts.com nebo kdekoliv jinde jich je
      spousta ale většina je buď hodně mizerná nebo je jejich použití
      všelijaké. Valná většina navíc postrádá alespoň základní
      dokumentaci.

      David: Asi by se tam dalo něco podobného najít. Já jsem to vzdal po
      8 pokusech a napsal si vlastní. Manuel tam sice má třídu, která vypadá
      kompletní ale nevyznám se v tom množství souborů a neměl jsem náladu
      studovat použití, takže těžko říct.

      1. Mastodont

        Re: Re: Po sté to samé?

        Ano, Lemosovy třídy, dále Clonefish a samozřejmě Zend_Form. Form helpery
        jsou v podstatě v každém frameworku.

        1. David GrudlAutor příspěvku

          Re: Re: Re: Po sté to samé?

          Tak třeba Zend_Form mimo jiné nedisponuje:

          • validací UTF-8 řetězců (zásadní nedostatek)
          • odstraňováním kontrolních znaků (nepříjemnost)
          • nemá podporu pro podmíněné validační pravidla (zásadní
            nedostatek)
          • a generování validace na straně JavaScriptu (nebo alespoň neměl
            v době, kdy jsem se na něj díval)
          • nezná „empty values“
          • nekontroluje povolený obsah selectů
          • vznikl o dva roky později než Nette Forms (aneb pláčete na
            špatném hrobě)

          Díváte se na celou věc pouze povrchně (což prosím neberte jako
          invektivu!), proto soudíte, že jde o další variaci na totéž. Nejde. Na
          první pohled to tak může vypadat, ale uvnitř zeje kvalitativní propast.

          1. David GrudlAutor příspěvku

            Re: Re: Re: Re: Po sté to samé?

            Týjo, komentáře tu statečně požírají veškeré pokusy
            o formátování. Nejde to Texy nějak vypnout? ;)

            1. Martin Hassman

              Re: Re: Re: Re: Re: Po sté to samé?

              Doporučuji kontaktovat naše vývojové oddělení. Oon ten celý nový
              systém je pořád takový neodladěný polotvat 8-(

          2. Mastodont

            Re: Re: Re: Re: Po sté to samé?

            Ale já tady neřeším, kdo z vás ho má většího na základě
            množství kódu a co kdo napsal dříve … pouze jsem vyjádřil své lehké
            znechucení nad tím, že dynamicky generujete vždy stejný obsah – na to
            můžete namítnout, že formuláře se nezobrazují tisíckrát za sekundu a
            proto je cache zbytečná … nechápu, proč to odvádíte jinam.

            Druhý problém mám s tím, že takto máte konfiguraci UI zadrátovanou do
            kódu – pokud by si zákazník chtěl změnit popisek pole, musí do
            PHP kódu.

            1. David GrudlAutor příspěvku

              Re: Re: Re: Re: Re: Po sté to samé?

              Reagoval jsem na větu „když pominu to, že to je ikstá varianta toho, co
              se dá už léta splašit třeba na phpclasses.org i jinde“. Neodvádím to
              jinam, jen reaguji postupně.

              K tomu generování stejného obsahu: Mícháte hrušky s baňama. Nikde
              jsem přece „nenamítal, že cache je zbytečná“. Naopak, Nette Framework
              disponuje velmi silným aparátem
              pro kešování
              . A když mám aparát, nebojím se ho použít ;)

              Ad popisky: to je dobrá připomínka, proto popisky takto uvedené v kódu
              jsou volitelné. Pro jednoduché weby je pragmatické uvést je přímo
              v kódu. Pro složitější weby je lze nastavovat mimo ve zvláštní rutině.
              A nakonec pro multijazyčné weby lze použít místo popisek konstanty, které
              se poté překladačem automaticky nahradí za skutečné popisky v daném
              jazyce.

    3. Roman Pištěk

      Re: Po sté to samé?

      Jak jste, ‚sim Vás, přišel k té přezdívce? :-) Jistě, na
      phpclasses.org a desítkách dalších zdrojů seženete takových rutin tuny.
      Nějakou tu „vodotoňákfunguje“ třídu pro formuláře si navíc zbastlí
      každý začínající programátor. Ovšem kvalitně naprogramovat a
      zakomponovat do frameworku už tak snadné není.

      „Co třeba metody pro vytváření dynamických seznamů nebo check boxů,
      načítajích data z databáze, jsou?“ – a co třeba si takovou
      specifickou záležitost naprogramovat sám? Nette tomu nijak nebrání… Pokud
      ovšem nejste ten typ programátora, který celou aplikaci poslepuje z torz
      z phpclasses.or­g apod.

      1. Mastodont

        Re: Re: Po sté to samé?

        Ad 1) Narážky ad hominem ve stylu „jé, ty máš blbej nick“ nemám
        rád
        Ad 2) Ano, to se samozřejmě napsat dá. Ale proč v Nette? :-)
        Ad 3) Já cizí kód používám, nevidím důvod, proč bych měl třeba HTML
        Purifier psát znovu jen proto, abych světu dokázal, že jsem těžkej borec a
        všechno přede mnou bylo blbě … a je mi úplně jedno, jestli ho najdu
        v PEARu, na hotscripts nebo jinde, rozhodující je licence, jednoduchost,
        konsistence a celková úspora času.

  4. cckar

    newbie

    Ja tedy v php neprogramuji, tak je muj dotaz asi dost nejapny, ale …

    neni to trosku luxus generovat vsechno dynamicky pres php, bez spetky
    hotoveho HTML? napr. napr jinak staticke formulare, veskere tagy sablonach
    a pod.

    1. David GrudlAutor příspěvku

      Re: newbie

      I tohle je možné, záleží na potřebách nebo „lenosti“
      programátora. Dostanu s k tomu v dalším pokračování.

  5. Langi

    Re: Nette Framework: Neprůstřelné formuláře

    Prostě a jednoduše super, jestli ne celé Nette a strukturu kterou
    nabízí, tak minimálně Forms použiju určitě. Díky za ty dary.

    1. Langi

      Re: Re: Nette Framework: Neprůstřelné formuláře

      Jen ještě rychlý dotaz – to je ok, že emailová kontrola schválí
      adresu jako „lang@glavew.or­ks.czz“? Ještě bych chápal tu tečku
      uprostřed, ale .czz? Jdou ty pravidla nějak editovat?

        1. Jakub Vrána

          Re: Validace e-mailu

          Pravda je ale taková, že kontrola e-mailové adresy v Nette je velmi
          benevolentní. Povolí třeba i nevalidní adresu .@;.aa.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3022