Validointi
Datan kaksi puolustuslinjaa — mitä malli takaa ja mitkä säännöt näyttöjen lomakkeet tarkistavat ennen tallennusta.
Virheellinen data tulee sisään huolimattomuudesta, ei pahantahtoisuudesta: Y-tunnus jossa on kahdeksan numeroa, sähköposti ilman ät-merkkiä, 300 %:n alennus, tallennettu tietue ilman sitä kenttää, jota loppuprosessi tarvitsee. Validointi on näiden ovien sulkemista — ja Keplinissä ne suljetaan kahdessa kerroksessa, joita ei kannata sekoittaa keskenään.
| Kerros | Missä se määritellään | Milloin se toimii | Mitä se nappaa |
|---|---|---|---|
| Malli | Taulueditorissa (katso Taulut ja kentät) | Jokaisessa kirjoituksessa, tuli se mistä tahansa | Sen, mitä datalle ei koskaan saa tapahtua. |
| Kenttien säännöt | Kunkin lomakekentän inspektorissa, kategoriassa Validointi | Kun käyttäjä tallentaa lomakkeen | Sen, mitä ihminen on kirjoittamassa, oikean viestin kanssa kentän vieressä. |
Käytännön sääntö: se mikä on totta datasta, elää mallissa; se mikä on apua käyttäjälle, elää lomakkeella. Pakollinen kenttä on molempia — kytke mallissa Sallii NULL-arvon pois ja kytke näytön kentässä Pakollinen päälle.
Mitä malli takaa
Näitä ei kutsuta ”validointisäännöiksi”, mutta ne ovat ainoa puolustus, jota ei kierretä: ne pätevät näytöille, API:ille, skripteille ja sille, joka kirjoittaa suoraan tietokantaan.
| Osanen | Mitä se estää |
|---|---|
| Sallii NULL-arvon pois päältä | Tietueen, jolla ei ole arvoa siinä sarakkeessa. |
| Sarakkeen Tyyppi | Tekstin päivämääräkentässä, kirjaimet numerossa. |
| Pituus / Tarkkuus · Desimaalit | Saraketta pidemmän tekstin tai rahan liian monella desimaalilla. |
| Pääavain (PK) | Kaksoiskappaleet ja tietueet, joita ei pysty yksilöimään. |
| unique-indeksi | Kaksi asiakasta samalla Y-tunnuksella, kaksi käyttäjää samalla sähköpostilla. |
| enum-tyyppinen sarake | Tilan, jota ei ole listalla. |
| Fyysinen suhde + Kun vanhempi poistetaan | Orvot lapset tai poistot, jotka vievät mukanaan sen mitä ei pitäisi. |

Dica
Ennen kuin kirjoitat säännön lomakkeelle, kysy: voiko tämä olla totta jossakin tietueessa, joskus? Jos vastaus on ei, oikea paikka on malli — koska lomake on vain yksi niistä ovista, joista data tulee sisään.
Lomakekenttien säännöt
Kaikilla lomakekentillä — Tekstikenttä, Tekstialue, Numero, Kyllä/Ei, Pudotusvalikko, Päivämäärä, Väri, Tiedosto — on inspektorissa kategoria Validointi. Siellä määritellään, mitä kyseinen kenttä hyväksyy.
Sinne pääsee näin:
- Avaa näyttö editorissa.
- Valitse kenttä — canvasilta tai inspektorin välilehdeltä Rakenne.
- Avaa välilehdellä Ominaisuudet kategoria Validointi.

Pakollinen
Kytkin Pakollinen on säännöistä ensimmäinen ja käytetyin: kentän on oltava täytetty. Se on myös ainoa, joka puhuu tyhjästä — kaikki muut päästävät tyhjän kentän läpi, koska tyhjä on Pakollinen-kytkimen asia.

Vakiosäännöt
Kenttätyypin mukaan kategoria näyttää ne säännöt, joissa on järkeä:
| Sääntö | Missä se näkyy | Mitä se tarkistaa |
|---|---|---|
| Maski | Tekstikenttä | Muodon kirjoittamisen aikana: # numero, A kirjain, N alfanumeerinen, * mikä tahansa — muu on kiinteää tekstiä. Esim. +358 ## ### ####. |
| Min. merkkejä | Tekstikenttä, Tekstialue | Tekstin vähimmäispituus. |
| Maks. merkkejä | Tekstikenttä, Tekstialue | Tekstin enimmäispituus. |
| Kaava (regex) | Tekstikenttä, Tekstialue | Säännöllinen lauseke, jota arvon on noudatettava. Esim. ^[A-Z]{2}\d{4}$. |
| Muoto | Tekstikenttä | Ei mitään, On sähköposti, On puhelinnumero tai On numero. Ne ovat toisensa poissulkevia: arvo ei voi olla yhtä aikaa sähköposti ja puhelinnumero. |
| Min. arvo | Numero | Pienin hyväksyttävä arvo. |
| Maks. arvo | Numero | Suurin hyväksyttävä arvo. |
| Sama kuin kenttä | Kaikki kentät | Arvon on oltava sama kuin näytön toisessa kentässä — salasanan vahvistus, toistettu sähköposti. |
Nota
Maski on kirjoitusapu, ei validointi: se ohjaa sitä, mitä ihminen kirjoittaa, mutta muodon takaa Kaava (regex) tai Muoto. Maskilla varustettu puhelinnumero voi jäädä kesken.
Validointi koodilla
Vakiosääntöjen alla on rivi Validointi, jossa lukee Ei validointia — määritä tai Määritetty — muokkaa. Painike … avaa koodieditorin niitä sääntöjä varten, joita kentät eivät kata: Y-tunnus tarkistusmerkkeineen, IBAN, päivämäärä jonka on oltava toista myöhempi, liiketoimintasääntö joka on vain sinun yritykselläsi.
Koodi saa muuttujan value — kentän nykyisen arvon — ja palauttaa:
true(tai ei mitään), jos arvo on kelvollinen;- merkkijonon, joka sisältää näytettävän virheilmoituksen, jos ei ole.
const s = String(value ?? "").replace(/\D/g, "");
if (s.length !== 9) return "Y-tunnuksessa on oltava 9 numeroa";
return true;
Tämän koodin sisällä käytettävissäsi on myös keplin — voit verrata toiseen
kenttään, istunnon arvoon tai näytölle jo ladattuun dataan. Se on TypeScriptiä,
ja saat ehdotuksia kirjoittaessasi (Ctrl+välilyönti); editori kieltäytyy
tallentamasta koodia, joka ei ole suoritettavissa.

Milloin validointi ajetaan
Lomakkeen validointi ajetaan tallennettaessa — kun tallennuspainike käskee tallentaa tietueen datastoren. Järjestys on aina sama, kenttä kerrallaan:
- Pakollinen — onko kenttä täytetty?
- Vakiosäännöt — pituus, muoto, minimi, maksimi, kaava, yhtäsuuruus.
- Validointi koodilla — sinun oma sääntösi.
Ensimmäinen virhe voittaa: heti kun jokin sääntö pettää, kentän alla näkyy juuri sen säännön viesti, eivätkä seuraavat ehdi ajoon. Jos jokin kenttä pettää, mitään ei tallenneta — tietue jää ennalleen ja ihminen jää lomakkeelle, virheet näkyvissä.
Kentän voi myös validoida käsin tapahtuman koodista — esimerkiksi kentän tarkistamiseksi heti kun se muuttuu sen sijaan että odotettaisiin loppuun. Se on sivun Tapahtumat ja SDK asia.
Viestit
Vakiosääntöjen viestit ovat alustan omia, kirjoitettuina sovelluksen kielellä: Pakollinen kenttä., Virheellinen sähköpostiosoite., Vähintään {min} merkkiä., Suurin arvo: {max}., Arvot eivät täsmää., Virheellinen muoto. Niitä ei muokata yksitellen — jos sinun on sanottava asiat toisin, oikea paikka on validointi koodilla, jossa viesti on palauttamasi merkkijono.
Kieli tulee sovelluksen asetuksista (Sovelluksen asetukset ▸ Käännökset): sama sovellus suomeksi ja englanniksi näyttää virheet käyttäjän kielellä.
Mitä validointi EI ole
Atenção
Lomakkeen validointi on mukavuutta, ei tietoturvaa. Se ajetaan sovelluksen käyttäjän selaimessa ja auttaa välttämään rehellisiä virheitä. Se, joka todella haluaa kirjoittaa virheellisen arvon, ei mene lomakkeen kautta — hän menee API:n kautta. Oikea puolustus on mallissa (tyypit, pakollisuus, avaimet, unique-indeksit, enumit) ja käyttöoikeuksissa, jotka määrittävät kuka saa kirjoittaa mitä.
Miksi ei…?
- Miksi en näe Validointi-kategoriaa tässä widgetissä? Vain lomakekentät validoivat. Painikkeella, Nimikkeellä tai Taulukolla ei ole arvoa validoitavaksi.
- Miksi sääntö ei laukea, kun kenttä on tyhjä? Se on tarkoituksellista: vakiosäännöt ohittavat tyhjän, joka on Pakollinen-kytkimen aluetta. Kytke se päälle.
- Miksi virheellinen tietue tallentui silti? Joko kenttä ei ollut kytketty datastoreen (ilman kytkentää se ei tule mukaan validointiin) tai arvo kirjoitettiin muuta reittiä — API, skripti, tuonti. Katso, mitä malli takaa, tämän sivun yläosassa.
- Miksi Kaava (regex) ei täsmää? Se on säännöllinen lauseke tavanomaisella
syntaksilla, ja jokainen merkki merkitsee:
^[A-Z]{2}\d{4}$hyväksyyPT1234ja hylkääpt1234. Testaa lauseke ennen kuin liität sen. - Miksi koodivalidointini ei tallentunut? Editori kieltäytyy koodista, joka ei ole suoritettavissa — korjaa merkitty virhe ja tallenna uudelleen.
- Miksi viesti näkyy englanniksi? Sovelluksen kieli on englanti. Vaihda se kohdassa Sovelluksen asetukset ▸ Käännökset.