Čo budete robiť
Pripravený výraz spustíte v cvičisku vyššie, budete meniť vždy jeden vstup a vysvetlíte výsledok. Začnite v režime Iba CEL a potom rovnaké pravidlo zopakujte v režime CEL + JSON.
Ako to funguje
Čitateľné validačné pravidlo je postupnosť malých logických tvrdení. Toto pravidlo vyžaduje neprázdny text, najviac 20 kódových bodov Unicode a neprítomnosť lomky. Skrátené vyhodnotenie umožní skončiť hneď, keď je jedna povinná podmienka nepravdivá.
Prečítajte pripravený príklad
Pravidlo v režime CEL + JSON je:
name != '' && name.size() <= 20 && !name.contains('/')Jeho vstup je:
{
"name": "CEL guide"
}Záložka Iba CEL obsahuje hodnoty aj pravidlo v jednom výraze. Povolené rozšírenie cel.bind() udrží každý názov lokálny v jeho poslednom argumente.
Vyhodnotenie krok za krokom
- Názov nie je prázdny.
- Jeho veľkosť neprekračuje 20 kódových bodov.
- Neobsahuje lomku, preto všetky tri podmienky vrátia
true.
Vaša úloha
- Spustite platný názov.
- Použite prázdny reťazec a potom názov s
/. - Skúste názov dlhší než 20 znakov a zakaždým určte zlyhanú podmienku.
Očakávané pozorovanie: Každá neplatná hodnota vráti false bez osobitnej náhradnej vetvy.
Častá chyba
Neskrývajte nesúvisiace pravidlá do jedného nečitateľného regulárneho výrazu. Samostatné kontroly ukážu dôvod odmietnutia.
Zobraziť vysvetlenie
Nie. Reťazec obsahujúci iba medzery nie je prázdny; odstránenie medzier vyžaduje povolené rozšírenie alebo úpravu v hostiteľovi.
Kontrolná otázka
Odstráni toto pravidlo medzery pred kontrolou prázdnej hodnoty?
Hlavná myšlienka
Validáciu skladajte z jednoduchých podmienok a uveďte každú normalizáciu vykonanú mimo CEL.
Zdroje
CEL-DEV— oficiálny prehľad CEL.CEL-LANG— oficiálna definícia jazyka CEL.CEL-GO-BIND— oficiálna dokumentácia voliteľného rozšíreniacel.bind()použitého v samostatnej záložke.