Skip to content

Releases: peckadesign/pdForms

Přidání lazyload recaptchy pro formuláře

17 Aug 08:31
a5e8bbd
Compare
Choose a tag to compare
  • přidání scriptu pro lazyload recaptcha do formulářů
  • npm script pro minifikaci recaptcha
  • nova zavislost na "contributte/recaptcha": "3.1.*"

Oprava everFocused u vlastních validačních událostí

25 May 07:40
c7b81c7
Compare
Choose a tag to compare

Pokud byla použita vlastní validační událost pomocí data-pdforms-validate-on, např. keyup, funguje validace na tuto událost až po opuštění pole, kdy se zapíše data-ever-focused atribut na element. Oprava tento atribut zapíše při prvním výskytu události uvedené v data-pdforms-validate-on.

Issue #34.

Podpora PHP <7.4

31 Mar 08:26
de5b21a
Compare
Choose a tag to compare
  • minimální verze vendor balíků
  • travis běží pro PHP <7.4
  • code pro 7.4 "ready"

Issue: peckadesign/pdproject5#2859

Oprava `initForm` v případě AJAXových validací

13 Feb 10:58
b0522bf
Compare
Choose a tag to compare

Oprava zapsání podmínky tak, aby nevyhazovala chybu do konzole.

Oprava `initForm` v případě AJAXových validací

21 Jan 11:49
bcba43e
Compare
Choose a tag to compare

Ve vzácných případech mohlo dojít k situace, že Nette.initForm způsobila chybu v případě AJAXové validace. Výjimečně mohlo dojít k tomu, že JS událost DOMContentLoaded byla vyvolána dříve, než dojde ke zpracování již staženého JS. V tu chvíli event handler vyvolal inicializaci formuláře, která prostřednictvím Nette.toggleForm spustila AJAXovou validaci ve chvíli, kdy ještě $.nette bylo undefined. Nově v takovém případě nedojde k odeslání requestu. Vzhledem k tomu, že AJAXové validace vždy vrací TRUE, nedojde k žádné změně stávajícího chování (při zpracování Nette.toggleForm nejsou vypisovány nikdy žádné chyby).

BC break: ne

Oprava zobrazení validačních zpráv v IE11

21 Jan 11:36
72c6c38
Compare
Choose a tag to compare

V IE11 starších není podporované ParentNode.prepend() a ParentNode.append(), proto došlo k nahrazení těchto metod za Element.insertAdjacentElement().

BC break: ne

Oprava vyplnění dependentInputs dle response serveru

19 Nov 06:34
799d9be
Compare
Choose a tag to compare

Oprava chybného přístupu k hodnotě k vyplnění v rámci payload

Podpora Nette validátorů pro měkkou validaci

11 Oct 11:10
0444650
Compare
Choose a tag to compare

Issue #20

Přidána podpora navěsit měkkou validaci na formulářové prvky a využít standardní Nette validátory. Př.:

 $companyIdentifierOptions = $this->ruleOptionsFactory->createNetteOptional(
    \Nette\Forms\Form::PATTERN,
    '([0-9]\s*){0,8}'
);
        
$form->addText('companyIdentifier', 'IČO')
    ->addCondition(\Nette\Forms\Form::FILLED)
        ->addRule(\Pd\Forms\Rules::NETTE_RULE_PROXY, '_msg_ico_pattern', $companyIdentifierOptions)
;

Detailní popis v dokumentaci

BC breaks:

  • JS: Upraveno volání normalizace pravidel. Pokud při volání Nette.validateControl předáváme pravidla, očekává se, že již byla normalizována pomocí pdForms.normalizeRules. Dříve k jejich normalizaci došlo v rámci Nette.validateControl vždy, nyní pouze v případě, že nebyla předána a metoda je načetla přímo z elementu.

Podpora Nette validátorů pro měkkou validaci

11 Oct 11:02
0b0a3cc
Compare
Choose a tag to compare

Issue #20

Přidána podpora navěsit měkkou validaci na formulářové prvky a využít standardní Nette validátory. Př.:

 $companyIdentifierOptions = $this->ruleOptionsFactory->createNetteOptional(
    \Nette\Forms\Form::PATTERN,
    '([0-9]\s*){0,8}'
);
        
$form->addText('companyIdentifier', 'IČO')
    ->addCondition(\Nette\Forms\Form::FILLED)
        ->addRule(\Pd\Forms\Rules::NETTE_RULE_PROXY, '_msg_ico_pattern', $companyIdentifierOptions)
;

Detailní popis v dokumentaci

BC breaks:

  • JS: Upraveno volání normalizace pravidel. Pokud při volání Nette.validateControl předáváme pravidla, očekává se, že již byla normalizována pomocí pdForms.normalizeRules. Dříve k jejich normalizaci došlo v rámci Nette.validateControl vždy, nyní pouze v případě, že nebyla předána a metoda je načetla přímo z elementu.

Podpora Nette 2.4

11 Sep 14:45
6f52046
Compare
Choose a tag to compare
  • Kompatibilita s Nette Forms 2.4
  • Funkční nahrazování placeholderů ve validačních zprávách (%value, %\d+)
  • U asynchronních pravidel jsou automaticky vyplněny inputy, které jsou nastaveny v arg.inputs (případně arg.data.inputs) a jejichž hodnoty dojdou v payload. Dříve toto řešil manuálně callback pro danou validaci, např. PdFormsRules_validTIN.
  • BC breaky:
    • Hlavní soubor src/assets/pdForms.js již neobsahuje žádné validátory. Ty jsou vyčleněny bokem a je nutné na je na frontend načítat zvlášť, viz složka src/assets/validators.
    • Pro kompatibilitu s IE9-11 je nutné načítat soubor src/assets/pdForms.polyfills.js.
    • Veškeré události vyvolávané přes pdForms jsou nově Vanilla JS, tj. nekompatibilní s jQuery událostmi. Je tedy nutné upravit navázání callbacků na vanilla JS, např. vyhledáním validate.pdForms, respektive i dalších událostí jQuery s namespace .pdForms.
    • Přejmenování data-ever-focused na data-pdforms-ever-focused, navíc se nepoužívá jQuery funkce $.data(), ale nastavuje se reálný atribut.
    • Přejmenování data-validation-group na data-pdforms-validation-group.
    • Nastavení messageType v payload u AJAXových validací má nejvyšší prioritu při nastavení class validační zprávy.
    • Atribut pro vypsání chybové zprávy jako globální je nyní data-pdforms-messages-global, omylem byla zanesena chyba, kdy název byl data-pdforms-messages--global.
    • Odebrána interní metoda toString nad pdForms.constants, tj. již není možné volat String(pdForms.constants).
    • Přejmenování konstant používaných pro class (pdForms.constants). Nově jsou to MESSAGE_ERROR, MESSAGE_INFO a MESSAGE_VALID.