Siirry pääsisältöön

DateField

Avaa ChatGPT:ssä
Shadow dwc-field 23.02
Java API

DateField-komponentti antaa käyttäjille mahdollisuuden syöttää tai valita päivämäärän vuosina, kuukausina ja päivinä. Se käsittelee validointia automaattisesti, joten väärin muotoillut päivämäärät havaitaan ennen lomakkeen lähettämistä.

Käyttäen DateField

Inheritance

This class is a Field component, and inherits its features and behaviors. For an overview of Field properties, events, and other important information, please refer to the Field documentation.

DateField laajentaa jaettua Field-luokkaa, joka tarjoaa yleisiä ominaisuuksia kaikille kenttäkomponenteille. Seuraava esimerkki luo lähtö- ja paluu-DatetimeFieldit, jotka pysyvät synkronoituna, minimi- ja maksimi-rajoituksilla, jotka rajoittavat valittavaa aluetta.

Näytä koodi

Kenttäarvo (LocalDate)

DateField-komponentti tallentaa arvonsa sisäisesti LocalDate-objektina, joka edustaa päivämäärää ilman aikavyöhyke- tai aikainformaatiota. Tämä mahdollistaa tarkat kalenteripohjaisten syötteiden käsittelyn eri järjestelmissä.

Näytetty arvo VS käsitelty arvo

Vaikka näytetty arvo mukautuu käyttäjän selaimen aluekohtaisiin asetuksiin varmistaen alueellisesti tutun muotoilun (esim. MM/DD/YYYY Yhdysvalloissa tai DD.MM.YYYY Euroopassa), käsitelty arvo nojaa aina kiinteään muotoon yyyy-MM-dd.

LocalDate-arvon saaminen ja asettaminen

Nykyisen arvon noutamiseksi käytetään getValue()-metodia:

LocalDate value = dateField.getValue();

Arvon asettamiseksi ohjelmallisesti käytetään setValue()-metodia:

dateField.setValue(LocalDate.of(2024, 4, 27));

setText()-käyttö

Voit myös määrittää arvon raakana merkkijonona, mutta se on noudatettava tarkkaa yyyy-MM-dd-muotoa:

dateField.setText("2024-04-27"); // voimassa

dateField.setText("04/27/2024"); // ei voimassa
varoitus

Kun käytetään setText()-metodia, heitetään IllegalArgumentException, jos komponentti ei pysty käsittelemään syötettä yyyy-MM-dd-muodossa.

Käyttötapaukset

DateField on ihanteellinen päivämäärien valitsemiseen ja näyttämiseen sovelluksessasi. Tässä on joitain esimerkkejä siitä, milloin käyttää DateField-komponenttia:

  1. Tapahtumasuunnittelu ja kalenterit: Päivämääräkentät ovat olennaisia sovelluksissa, jotka liittyvät tapahtumien aikatauluttamiseen, tapaamisten varaamiseen tai tärkeiden päivämäärien seuraamiseen.

  2. Lomakekentät: Yksinkertaista päivämäärän valintaprosessia käyttäjälle, joka täyttää lomakkeen, johon vaaditaan päivämäärä, kuten syntymäpäivä.

  3. Varaus- ja varausjärjestelmät: Sovellukset, jotka liittyvät varaamiseen ja varausjärjestelmiin, vaativat usein käyttäjiä syöttämään tiettyjä päivämääriä. Päivämääräkenttä virtaviivaistaa prosessia ja varmistaa tarkan päivämäärän valinnan.

  4. Tehtävien hallinta ja määräajat: Päivämääräkentät ovat arvokkaita sovelluksissa, jotka liittyvät tehtävien hallintaan tai määräaikoihin. Käyttäjät voivat helposti määrittää eräpäiviä, aloituspäiviä tai muuta aikakriittistä tietoa.

Minimi- ja maksimiarvo

Minimiarvo

setMin()-metodi määrittää aikaisimman päivämäärän, jonka käyttäjä voi syöttää komponenttiin. Jos syöte on aikaisempi kuin määritetty vähimmäisarvo, se epäonnistuu rajoitteen validoinnissa. Kun sitä käytetään yhdessä setMax()-metodin kanssa, vähimmäisarvon on oltava sama tai aikaisempi kuin maksimi.

dateField.setMin(LocalDate.of(2023, 1, 1)); // Sallittu vähimmäismäärä: 1. tammikuuta 2023

Maksimiarvo

setMax()-metodi määrittää viimeisen päivämäärän, jonka komponentti hyväksyy. Jos syötetty päivämäärä on myöhempi kuin määritetty maksimimäärä, syöte on virheellinen. Kun molemmat arvot on määritetty, maksimimäärän on oltava sama tai myöhempi kuin vähimmäismäärä.

dateField.setMax(LocalDate.of(2023, 12, 31)); // Sallittu enimmäismäärä: 31. joulukuuta 2023

Staattiset apufunktiot

DateField-luokka tarjoaa myös seuraavat staattiset apufunktiot:

  • fromDate(String dateAsString): Muuntaa päivämäärämerkkijonon yyyy-MM-dd-muodossa LocalDate-objektiksi, jota voidaan käyttää tässä kentässä tai muualla.

  • toDate(LocalDate date): Muuntaa LocalDate-objektin päivämäärämerkkijonoksi yyyy-MM-dd-muodossa.

  • isValidDate(String dateAsString): Tarkistaa, onko annettu merkkijono voimassa oleva yyyy-MM-dd-päivämäärä.

Parhaat käytännöt

Optimaalisen käyttäjäkokemuksen varmistamiseksi DateField-komponentin käytössä, harkitse seuraavia parhaita käytäntöjä:

  • Saavutettavuus: Hyödynnä asianmukaisia etikettejä varmistaaksesi, että avustavat teknologiat voivat helposti navigoida ja käyttää päivämääräkenttiä sovelluksessasi.

  • Nykyisen päivämäärän automaattinen täyttö: Jos se on sovelluksesi käyttötapaan soveltuvaa, automaattisesti täytä päivämääräkenttä nykyisellä päivämäärällä.