Ako nastavím vlastnú validáciu parametra


⚠️ Táto funkcionalita je dostupná len vo webovej verzii ERPIO App.

Aplikácia umožňuje nastaviť vlastné validácie s porovnávaním všetkých dostupných parametrov. Nastavenie sa robí priamo v editácii akcie, na jednotlivých parametroch. V editácii parametra:

V záložke Extended vyplním do poľa SysName kľúč “ClientSideConfig”, vyberiem DType “String”, kliknem Pridať. 

Do novopridaného poľa vpíšte pravidlá na validáciu.

Príklad hodnoty:

{
    "Validation": [
        {
            "strExpression": "(@Cislo1+@Cislo2 == @Vysledok)",
            "Message": "Výpočet nie je správny"
        }
    ]
}

strExpression – rozhodovacia podmienka – v kóde C#. Podmienka v pravidle musí začínať a končit zátvorkou a vyhodnotenie výrazu by malo skončit hodnotou True alebo False. Ak vráti True, tak potvrdenie editora prebehne. V prípade False sa zobrazí Vami zadaná hláška. Ak je výraz nesprávny, alebo sa vyskytuje chyba pri jeho vyhodnocovaní, tak sa vracia False a zobrazuje chybová hláška. Je možné pridať viacero pravidiel do jedného poľa.

Hlášku je možné zadať aj v rôznych jazykových mutáciách (sk, cs, en, de, uk, hu, pl):

{
    "Validation": [
        {
            "strExpression": "(@Cislo1+@Cislo2 == @Vysledok)",
            "Message": {
                "sk": "Výpočet nie je správny",
                "en": "The calculation is not correct."
            }
        }
    ]
}

Ďalší príklad – ako jednoducho otočiť výsledok – chcem, aby mi zobrazilo hlášku, ak mnou napísaná podmienka nie je splnená

{
    "Validation": [
        {
            "strExpression": "(!(@TypFakturacie == \"Pausal\" && (@PausalPocetObyvatelov == null || @PausalPocetObyvatelov == 0)))",
            "Message": "Pri type fakturácie Paušál musí byť vyplený počet obyvateľov"
        }
    ]
}

Príklad použitia viacerých validácií

{
    "Validation": [
        {
            "strExpression": "(!((@FilterBy == 1 || @FilterBy == 2) && (@DateFrom == null || @DateTo == null)))",
            "Message": "Dátumy od-do musia byť zadané"
        },
        {
            "strExpression": "(!((@FilterBy == 1 || @FilterBy == 2) && (@DateFrom > @DateTo)))",
            "Message": "Dátum do musí byť neskôr ako Dátum od"
        },
        {
            "strExpression": "(!(@FilterBy == 3 && (@NumberFrom == null || @NumberTo == null)))",
            "Message": "Čísla dokladov od-do musia byť zadané"
        },
        {
            "strExpression": "(!(@FilterBy == 3 && (@NumberFrom > @NumberTo)))",
            "Message": "Číslo dokladu do musí byť väčšie ako Číslo dokladu od"
        }
    ]
}

Vlastnú validáciu je možné kombinovať so štandarnými ako Required, MaxLength, MinLength, MaxValue, MinValue.