Skip to content

Releases: peckadesign/pdForms

Oprava závislostí, update dokumentace

11 Sep 14:15
Compare
Choose a tag to compare
  • Update dokumentace.
  • Doplnění chybějících závislostí na nette-forms a nette.ajax.js do package.json.
  • Úprava závislosti na nette-forms a doplnění závislosti na nette.ajax.js v bower.json.

Přidána backendová část validace

06 Sep 08:43
0d18b39
Compare
Choose a tag to compare

PHP

  • přidána nově celá backend část (viz dokumentace)
  • přidány testy a napojení na Travis CI

JS změny

  • Nepovinná pravidla (měkká validace) a AJAXová pravidla lze nyní na backendu připojovat přes addRule.
  • U asynchronních pravidel jsou automaticky vyplněny inputy, které jsou nastaveny v arg.dependentInputs a jejichž hodnoty dojdou v payload.dependentInputs. Dříve toto řešil manuálně callback pro danou validaci, např. PdFormsRules_validTIN.
  • Přidána metoda pdForms.getRuleByOp(rules, op), která vrátí první pravidlo z rules, které má jméno op.
  • BC breaky:
    • Všechny validátory jsou nyní v Nette.validators, validátory z pdForms.validators byly přesunuty tamtéž.
    • Přejmenování objektu pro callbacky, nově je to pdForms.ajaxCallbacks, místo původního pdForms.asyncCallbacks.
    • Přejmenování interních metod, které by neměly být používány mimo knihovnu. Pokud ano, může být BC break. Přejmenované metody:
      • pdForms.isRuleOptional -> pdForms.isOptionalRule
      • pdForms.normalizeRulesArg -> pdForms.normalizeRules
    • Refactor metod a proměnných nahrazením async za ajax.
    • Odebrání AJAXového pravidla (včetně callbacku) PdFormsRules_validTIN a jeho nahrazení za obecné PdFormsRules_ajax.
    • Není nutné vytvářet prázdný callback pro identifikaci AJAXového pravidla. To je nyní rozpoznáno díky příznaku z back-endu.
    • Přejmenována metoda na ověření, zda pravidla obsahují ajaxové pravidla. Nově pdForms.hasAjaxRule místo pdForms.hasAsyncRule.
    • Očekávaný placeholder pro AJAX spinner má třídu pdforms-ajax-spinner--HTML_ID_INPUTU místo ajax-validation-spinner--HTML_ID_INPUTU
    • Nastavení messageType v payload u AJAXových validací má nejvyšší prioritu při nastavení class validační zprávy. V případě nepovinného pravidla se automaticky mění error na info.

Oprava mazání zpráv

18 Apr 12:14
Compare
Choose a tag to compare

K mazání zpráv nedochází v případě, že validace inputu byla zavolána s onlyCheck === true. V tu chvíli neovlivňujeme žádným způsobem DOM.

Úpravy AJAXových validací

11 Apr 10:00
Compare
Choose a tag to compare
  • Stisknutím klávesy ESC v průběhu AJAXové validace nedojde k jejímu zrušení (#10).
  • Do globálního objektu pdForms přidána property version obsahující aktuální verzi.
  • Metoda toggleControl při validaci AJAXových pravidel použije správnou URL (#8).
  • Drobný refactor přetěžování Nette metod a ukládání referencí na původní metody.

Oprava mazání zpráv

09 Apr 14:04
Compare
Choose a tag to compare

Oprava mazání zpráv v případě, že input má asynchronní i klasická pravidla dohromady. Za určitých okolností stále mohlo dojít k zobrazení dvou chyb zároveň, protože nedošlo ke smazání zprávy z asynchronního pravidla.

Oprava mazání zpráv

05 Apr 09:20
Compare
Choose a tag to compare

Opravena chyba, kdy v případě kombinace asynchronních a klasických validačních pravidel na jednom inputu nedocházelo k mazání zpráv. Opravuje issue #9.

1.3.5

25 Mar 15:06
Compare
Choose a tag to compare
  • Ošetření přidávání validačních zpráv v případě, že AJAXový request skončí chybou. V takovém případě je payload === undefined.
  • V případě AJAXové validace se přidá class pdforms-valid i v případě, že není vyplněná žádná zpráva. V případě chyby se class nepřidává bez vyplněné zprávy, protože to nedává smysl (uživatel by nevěděl, co je chybně).

Zjednodušené přidávání vlastních zpráv krom `valid` a `invalid` u AJAXové validace

16 Jan 14:00
Compare
Choose a tag to compare

Nyní je možno vypsat libovolnou zprávu. Je potřeba v odpovědi ze serveru poslat v JSONu klíč status obsahující string. Ten se použije jako klíč do pole se zprávami nastavenými u pravidla v PHP (stejně, jako do teď fungoval valid, invalid a částečně timeout). Typ zprávy lze určit pomocí klíče messageType (libovolný string použitelný jako CSS class) v JSON odpovědi. Výchozí je info. Viz příklad odpovědi a vygenerované zprávy:

{
	"status": "unavailable",
	"messageType": "nazev_class"
}
<p class="message message--nazev_class pdforms-message">...</p>

<label class="inp-nazev_class pdForms-message">...</label>

1.3.3: #0 Oprava asynchronního callbacku `PdFormsRules_validTIN`

15 Jan 15:56
Compare
Choose a tag to compare
  • Oprava asynchronního callbacku PdFormsRules_validTIN. Po vyplnění polí nedošlo k jejich opětovné validaci. Úprava nově přidává validaci novou událost validate.pdForms a tato událost se vyvolá po změně hodnot v callbacku.

1.3.2: #7 Vytvoření obecného pravidla pro kontrolu CZ/SK IČ

12 Nov 15:12
Compare
Choose a tag to compare
  • Přidáno obecné pravidlo na formát CZ/SK IČ, které musí splňovat určité podmínky pro svůj ciferný součet. Pravidlo se očkává jako v namespace Pd/Forms/Rules/ pod názvem validICO.
  • Oprava přidávání validní class v určitém případě, viz níže.
    • Element má alespoň dvě pravidla z nichž jedno je složené (podmíněné). V případě, že podmíněné pravidlo projde, tak díky vnořenému volání pdForms.validateControl se přidala validní class. I když pak druhé pravidlo neprošlo a přidalo nevalidní class, zůstala ona validní class ze zanořeného pravidla. Řešením je přesun přidávání validní class o úroveň výše, tj. po validaci celého prvku.