Přeskočit obsah

Validace

Modul Forms umožňuje definovat validační pravidla pro pole formuláře. Validace se konfiguruje ve vlastnosti Validation na definici pole. Podporovány jsou dva typy validace: regulární výraz a vlastní funkce.

Regex validace

Validuje hodnotu pole pomocí regulárního výrazu. Pokud hodnota neodpovídá výrazu, zobrazí se chybová zpráva.

Vlastnost Popis
Regex Regulární výraz pro validaci hodnoty pole. [Povinné]
ErrorMessage Chybová zpráva zobrazená při neúspěšné validaci. Podporuje lokalizaci pomocí Resources. [Povinné]

Příklad: Validace e-mailu

{
  "Groups": [
    {
      "Name": "Kontakt",
      "Fields": [
        {
          "InternalName": "my_emailField",
          "Validation": {
            "Regex": "^\\S+@\\S+\\.\\S+$",
            "ErrorMessage": "validations.invalidEmail"
          }
        }
      ]
    }
  ],
  "Resources": [
    {
      "LCID": "1029",
      "validations": {
        "invalidEmail": "E-mail není platný"
      }
    },
    {
      "LCID": "1033",
      "validations": {
        "invalidEmail": "Email is not valid"
      }
    }
  ]
}

Příklad: Validace IČO (8 číslic)

{
  "InternalName": "ICO",
  "Validation": {
    "Regex": "^\\d{8}$",
    "ErrorMessage": "validations.invalidICO"
  }
}

Funkční validace

Validuje hodnotu pole pomocí vlastní JavaScript funkce definované v CustomScript. Funkce vrátí undefined pro platnou hodnotu nebo řetězec s chybovou zprávou pro neplatnou hodnotu.

Vlastnost Popis
ValidationFunction Název validační funkce v Custom Script. [Povinné]

Příklad: Vlastní validační funkce

Konfigurace pole:

{
  "InternalName": "Amount",
  "Validation": {
    "ValidationFunction": "validateAmount"
  }
}

Custom Script:

function validateAmount(value) {
  if (value === undefined || value === null) return undefined;

  const num = parseFloat(value);
  if (isNaN(num)) return "Hodnota musí být číslo.";
  if (num < 0) return "Částka nesmí být záporná.";
  if (num > 1000000) return "Částka nesmí překročit 1 000 000.";

  return undefined; // Validace úspěšná
}

Lokalizace chybových zpráv

Chybové zprávy pro regex validaci podporují lokalizaci pomocí pole Resources v konfiguraci formuláře. Klíč v ErrorMessage se vyhledá v Resources podle aktuálního jazyka (identifikátoru LCID).

Běžné LCID hodnoty:

LCID Jazyk
1029 Čeština
1033 Angličtina

Pokud ErrorMessage neodpovídá žádnému klíči v Resources, zobrazí se přímo jako text.