Siirry pääsisältöön

MaskedTextField

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

MaskedTextField-komponentti tarjoaa konfiguroitavan tekstinsyötön, joka valvoo muotoilusääntöjä ja validointia. Se soveltuu hyvin sovelluksiin, joissa tarvitaan rakenneosia, kuten talous-, verkkokauppa- ja terveydenhuoltojärjestelmissä.

Tätä komponenttia voidaan alustaa parametreilla tai ilman. Voit määrittää alkuarvon, oletustekstin, paikkamerkin sekä kuuntelijan, jos arvo muuttuu.

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

Maskisäännöt​

MaskedTextField muotoilee tekstinsyötön käyttämällä maskia - merkkijonoa, joka määrittää, mitkä merkit ovat sallittuja kussakin paikassa. Tämä varmistaa johdonmukaisen, rakenteisen syötön, kuten puhelinnumerot, postinumerot ja henkilötunnusmuodot.

Maskien soveltaminen ohjelmallisesti

Jos haluat muotoilla merkkijonoja saman maskisynnin mukaan kentän ulkopuolella, esimerkiksi tietojen renderöinnissä Table, käytä MaskDecorator -apuluokkaa.

Tuetut maskimerkit​

MerkkiKuvaus
XMikä tahansa tulostettavissa oleva merkki
aMikä tahansa aakkosellinen merkki (isot tai pienet kirjaimet)
AMikä tahansa aakkosellinen merkki; pienet kirjaimet muunnetaan isoiksi
0Mikä tahansa numero (0–9)
zMikä tahansa numero tai kirjain (isot tai pienet kirjaimet)
ZMikä tahansa numero tai kirjain; pienet kirjaimet muunnetaan isoiksi

Kaikkia muita merkkejä maskissa käsitellään kirjaimellisina ja ne on kirjoitettava tarkasti. Esimerkiksi, maski kuten XX@XX vaatii käyttäjältä @ merkin syöttämistä keskelle.

  • Virheelliset merkit ohitetaan hiljaa.
  • Lyhyet syötteet täyteen tilaa.
  • Pitkät syötteet katkaistaan maskin mukaisiksi.

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ä toimii kuten tavallinen TextField, salliien minkä tahansa tulostettavan sisäänsyötön. Tämä on hyödyllistä, kun haluat säilyttää mahdollisuuden muotoilla ilman tiukkoja merkkisääntöjä.

Näytä koodi

Vahvistuskuviot​

Vaikka maskit määrittelevät syötteen rakenteen, voit yhdistää ne vahvistuskuvioihin tiukempien syöttösääntöjen valvomiseksi. Tämä lisää ylimääräisen kerroksen asiakaspään validoimista käyttäen säännöllisiä lausekkeita.

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

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

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

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

  • Maski sallii liikaa joustavuutta
  • Haluat pakottaa tarkan pituuden tai tietyn muodon (esim. hex, Base64, UUID)
Säännöllisen lausekkeen muoto

Kuvion on oltava voimassa JavaScriptin säännöllinen lauseke, kuten käytetään RegExp-tyypissä. Lisätietoja löytyy HTML -kuvion attribuutin dokumentaatiosta.

Arvon palauttaminen​

MaskedTextField sisältää palautusominaisuuden, joka palauttaa kentän arvon ennalta määriteltyyn tai alkuperäiseen tilaan. Tämä voi olla hyödyllistä käyttäjän tekemien muutosten kumoamisessa tai oletustietojen palauttamisessa.

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

Tavat palauttaa arvo​

  • Ohjelmallisesti, kutsumalla restoreValue()
  • Näppäimistön kautta, painamalla ESC (tämä on oletuspaluunäppäin, ellei tapahtumakuuntelija ylikirjoita tätä)

Voit määrittää palautettavan arvon setRestoreValue():llä. Jos palautusarvoa ei ole asetettu, kenttä palautuu alkuperäiseen arvoon renderöintihetkellä.

Näytä koodi

MaskedTextFieldSpinner​

MaskedTextFieldSpinner laajentaa MaskedTextField-komponenttia lisäämällä pyörityskontrolleja, jotka antavat käyttäjien selata ennalta määriteltyjen arvojen luetteloa. Tämä parantaa käyttäjäkokemusta tilanteissa, joissa syötteen pitäisi rajoittua ennalta määriteltyihin kelvollisiin vaihtoehtoihin.

Näytä koodi

Tärkeimmät ominaisuudet​

  • Vaihtoehtoluettelo tukee Täytä pyörityskontrolli kelvollisten merkkijonojen luettelolla käyttäen setOptions():

    spinner.setOptions(List.of("Vaihtoehto A", "Vaihtoehto B", "Vaihtoehto C"));
  • Ohjelmallinen pyöritys Käytä spinUp() ja spinDown() siirtyäksesi vaihtoehtojen läpi:

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

    spinner.setOptionIndex(1);
    int current = spinner.getOptionIndex();
  • Maskin yhteensopivuus Perii täysin kaikki muotoilut, maskisäännöt ja kuvion validoinnin MaskedTextField-komponentilta.

Tyylittely​

Loading...