Foxentry validátory umožňují validovat zadané údaje, či už jde o správnost adresy, názvu podnikatelského subjektu, jména, telefonního čísla nebo emailové adresy. Každý validátor sám vyhodnotí validitu zadaného údaje a vizuálně zobrazí uživatelovi v prohlížeči výsledek validace formou ikonky a orámování. Toto chování je však možné vypnout v administraci projektu v případě, že nechcete zobrazovat uživatelovi předvolený vizuální výstup validace, ale chcete výsledek validace nejprve zpracovat a následně sami rozhodnout, co a v jaké podobě zobrazíte uživatelovi.
Na vlastní zpracování výsledku validace slouží tzv. callbacky, teda javascript funkce, které Foxentry spouští po validaci daného údaje. Každý callback získává od validátoru informáci o validitě zadaného údaje (validní/nevalidní) a další data související s předmětem validace (např. detaily adresného bodu, detaily firmy a podobně). Tato data následně můžete zpracovat podle sebe (například vypsat uživatelovi).
Každý callback musí existovat jako javascript funkce s jedním vstupním parametrem. Do tohoto parametru vloží Foxentry validátor výstupu z validace, teda
informaci o validitě údajů a případně detaily validovaného údaje.
Ve Foxentry existuje 5 typů validátorů, přičemž každý typ má přidělený kód, který s ním umí pracovat. Tento kód použijete na nastavení callback funkce pro daný typ validátoru.
Typy Foxentry validátorů a jejich kódy:
Každá z vašich callback funkcí může mít jakýkoliv název, je to jen na vás. Je však potřebné tento název Foxentry oznámit přes funkci „onFoxentryProjectLoad“, která se v případě, že existuje (máte ji ve svém javascript kóde zadefinovanou), spouští automaticky po spuštění Foxentry a načítaní vašeho projektu do prohlížeče. Vytvořte si teda tuto funkci a v rámci ní nadefinujte callback funkce způsobem, jako vidíte na kódu níže. Není nutné definovat callback funkce pro všechny typy validátorů.
// kod pro vložení Foxentry, použijte vlastní var Foxentry, e = document.querySelector("script"), s = document.createElement('script'); s.setAttribute('type', 'text/javascript'); s.setAttribute('async', 'true'); s.setAttribute('src', 'https://app.foxentry.cz/lib'); e.parentNode.appendChild(s); s.onload = function(){ Foxentry = new FoxentryBase('foxentryform'); } // funkce, která se spustí po načtení Foxentry projektu do prohlížeče function onFoxentryProjectLoad(){ // definice callback funkcí, můžete nadefinovat všechny nebo jen některé FoxentryBuilder.setCallbacks( { "address" : addressValidationHandler, "company" : companyValidationHandler, "email" : emailValidationHandler, "name" : nameValidationHandler, "phone" : phoneValidationHandler, } ); } // samotné callback funkce, ve kterých zpracujete výstup z validátorů function addressValidationHandler(data){ console.warn("address validation response", data); } function companyValidationHandler(data){ console.warn("company validation response", data); } function emailValidationHandler(data){ console.warn("email validation response", data); } function nameValidationHandler(data){ console.warn("name validation response", data); } function phoneValidationHandler(data){ console.warn("phone validation response", data); }