Siirry pääsisältöön

MaskedTextField

Avaa ChatGPT:ssä
Varjo dwc-textfield 24.10
Java API

MaskedTextField-komponentti tarjoaa konfiguroitavan tekstinsyötteen, joka pakottaa muotoilusäännöt ja validaation. Se on hyvin soveltuva sovelluksille, jotka vaativat strukturoitua syötettä, kuten rahoitus-, verkkokauppa- ja terveydenhuoltojärjestelmille.

Perusteet

MaskedTextField voidaan alustaa parametreilla tai ilman. Voit määrittää alkuperäisen arvon, etiketti, paikkamerkki-tekstin ja kuuntelijan, jos arvo muuttuu.

MaskedTextField field = new MaskedTextField("Tilin ID");
field.setMask("ZZZZ-0000")
.setHelperText("Maski: ZZZZ-0000 - esimerkiksi: SAVE-2025")

Maskeja koskevat säännöt

MaskedTextField muotoilee tekstinsyötteen käyttäen maskia - merkkijonoa, joka määrittää, mitkä merkit ovat sallittuja kussakin sijainnissa. Tämä varmistaa johdonmukaisen, rakenteellisen syötteen, kuten puhelinnumeroiden, postinumeroiden ja henkilöllisyysnumeroiden muodoissa.

Maskien soveltaminen ohjelmallisesti

Muotoillaksesi merkkijonoja saman maskisynnin mukaisesti kentän ulkopuolella, esimerkiksi tietojen renderöinnissä Table, käytä MaskDecorator -apuluokkaa.

Tuetut maskimerkit

MerkkiKuvaus
XMikä tahansa tulostettava merkki
aMikä tahansa aakkosnumeerinen merkki (suuret tai pienet kirjaimet)
AMikä tahansa aakkosnumeerinen merkki; pienet kirjaimet muunnetaan suuriksi
0Mikä tahansa numero (0–9)
zMikä tahansa numero tai kirjain (suuret tai pienet kirjaimet)
ZMikä tahansa numero tai kirjain; pienet kirjaimet muunnetaan suuriksi

Kaikkia muita merkkejä maskissa kohdellaan kirjaimellisesti, ja ne on kirjoitettava tarkasti. Esimerkiksi maski kuten XX@XX vaatii käyttäjää syöttämään @ keskelle.

  • Epäpätevät merkit ohitetaan hiljaa.
  • Lyhyt syöte täytetään tyhjillä merkeillä.
  • Pitkä syöte katkaistaan mahtuakseen maskiin.

Esimerkkejä

field.setMask("(000) 000-0000"); // Esimerkki: (123) 456-7890
field.setMask("A00 000"); // Esimerkki: A1B 2C3 (Kanadan postinumero)
field.setMask("ZZZZ-0000"); // Esimerkki: ABCD-1234
field.setMask("0000-0000-0000-0000");// Esimerkki: 1234-5678-9012-3456
Täysi syöte sallittu

Jos maski sisältää vain X, kenttä käyttäytyy kuin tavanomainen TextField, sallien minkä tahansa tulostettavan syötteen. Tämä on hyödyllistä, kun haluat varata mahdollisuuden muotoilla ilman tiukkoja merkkisääntöjä.

Näytä koodi

Vahvistuskuviot

Vaikka maskit määrittävät syötteen rakenteen, voit yhdistää ne vahvistuskuvioihin pakottaaksesi tarkempia syöttösääntöjä. Tämä lisää ylimääräisen tason asiakaspuolen validointia käyttämällä säännöllisiä lausekkeita.

Käytä setPattern()-metodia soveltaaksesi mukautettua säännöllistä lauseketta:

field.setPattern("[A-Za-z0-9]{10}"); // Pakottaa 10-merkkisen aakkosnumeerisen koodin

Tämä varmistaa, että syöte ei ainoastaan vastaa maskia, vaan noudattaa myös määriteltyä rakennetta, kuten pituutta tai sallittuja merkkejä.

Tämä on erityisen hyödyllistä, kun:

  • Maski sallii liikaa joustavuutta
  • Halutaan pakottaa tarkka pituus tai tietty muoto (esim. heksadesimaali, Base64, UUID)
Säännöllisen lausekkeen muoto

Kuvion on oltava voimassa oleva JavaScript-säännöllinen lauseke, kuten RegExp-tyypissä käytetty. Voit löytää lisää tietoa HTML-malliattributin dokumentaatiosta.

Arvon palauttaminen

MaskedTextField sisältää palautustoiminnon, joka nollaa kentän arvon ennalta määriteltyyn tai alkuperäiseen tilaan. Tämä voi olla hyödyllistä käyttäjän muutosten kumoamisessa tai oletusyhdisteeseen palaamisessa.

field.setRestoreValue("ABC123");
field.restoreValue();

Tapoja palauttaa arvo

  • Ohjelmallisesti, kutsumalla restoreValue()
  • Näppäimistön kautta, painamalla ESC (tämä on oletusarvoinen palautusavain, ellei sitä ohiteta tapahtumakuuntelijalla)

Voit asettaa palautettavan arvon käyttämällä setRestoreValue(). Jos palautusarvoa ei ole asetettu, kenttä palautuu alkuperäiseen arvoon sen hetkellä, kun se renderöitiin.

Näytä koodi

MaskedTextFieldSpinner

MaskedTextFieldSpinner laajentaa MaskedTextField lisäämällä spinnerikontrollit, jotka antavat käyttäjille mahdollisuuden kiertää ennalta määriteltyjen arvojen luetteloa. Tämä parantaa käyttäjäkokemusta tilanteissa, joissa syötteen tulisi olla rajoitettu kiinteään käyttökelpoisten vaihtoehtojen joukkoon.

Näytä koodi

Avainominaisuudet

  • Vaihtoehtoluettelo Täytä spinnereitä käyttökelpoisilla merkkijonoarvoilla käyttämällä setOptions():

    spinner.setOptions(List.of("Vaihtoehto A", "Vaihtoehto B", "Vaihtoehto C"));
  • Ohjelmallinen kierto Käytä spinUp() ja spinDown() siirtääksesi vaihtoehtoja:

    spinner.spinUp(); // Valitsee seuraavan vaihtoehdon
    spinner.spinDown(); // Valitsee edellisen vaihtoehdon
  • Indeksinhallinta Aseta tai hae nykyinen valintaindeksi:

    spinner.setOptionIndex(1);
    int current = spinner.getOptionIndex();
  • Maskiyhteensopivuus Perii täysin kaikki muotoilu-, maskisäännöt ja kuviovahvistuksen MaskedTextField-komponentista.

Tyylit

Loading...