Siirry pääsisältöön

Reporters

Avaa ChatGPT:ssä

Validation reporters ovat työkaluja, joita käytetään antamaan palautetta validaatioprosessista käyttäjärajapinnalle. Tämä ominaisuus on välttämätön käyttäjille heidän syötteidensä validaation tulosten kertomiseksi, erityisesti monimutkaisissa lomakkeissa tai tietoa vaativissa sovelluksissa.

Mikä on validaatiotoimittaja?

Validaatiotoimittaja on komponentti, joka käsittelee ja näyttää validoitumiset käyttäjille. Se toimii siltoina validaatiologiikan ja käyttäjärajapinnan välillä varmistaen, että validointituloksia viestitään tehokkaasti ja selkeästi.

Ydinkomponentit Oletustoimittaja

webforJ sisältää DefaultBindingReporter-oletustoimittajan, joka on suunniteltu toimimaan saumattomasti kaikkien ydinkomponenttien kanssa. Tämä sisäänrakennettu toimittaja näyttää automaattisesti validaatiovirheet, eliminoiden monissa tapauksissa tarvetta mukautetulle toteutukselle. Komponentin määrityksestä riippuen DefaultBindingReporter näyttää validoitumiset suoraan ponnahtavassa ikkunassa tai rivin alla, suoraan komponentin alapuolella. Tämä ominaisuus yksinkertaistaa virheiden raportointiprosessia huomattavasti, varmistaen selkeän ja suoran kommunikoinnin validaatiovirheistä ja parantaen käyttäjäkokemusta tarjoamalla välitöntä ja kontekstiin liittyvää palautetta syötteen validoimisesta.

Validaatiotoimittajien konfigurointi

Voit konfiguroida validaatiotoimittajia sitoutumiskontekstissa mukauttaaksesi miten viestejä esitetään. Tyypillisesti toteutat validaatiotoimittajan, joka kokoaa validoitumistulokset yhteen ja näyttää ne käyttäjäystävällisellä tavalla, kuten korostamalla virheellisiä kenttiä, näyttämällä virheviestejä tai päivittämällä tilanilmaisin.

Tässä on esimerkki, kuinka asettaa validaatiotoimittaja kentälle

@StyleSheet("ws://css/styles.css")
public class UserRegistration extends App {
Div errors = new Div();
TextField emailField = new TextField("Sähköpostiosoite");

FlexLayout layout = FlexLayout.create(emailField, errors).vertical().build();

@Override
public void run() throws WebforjException {
errors.addClassName("error");
errors.setVisible(false);

layout.addClassName("form");

BindingContext<User> context = new BindingContext<>(User.class);
context.bind(emailField, "email")
.useValidator(
Validator.from(new EmailValidator(), "Mukautettu viesti virheellisestä sähköpostiosoitteesta"))
.useReporter((validationResult, binding) -> {
errors.setVisible(!validationResult.isValid());

if (!validationResult.isValid()) {
errors.setText(validationResult.getMessages().stream().findFirst().orElse(""));
}
})
.add();

Frame frame = new Frame();
frame.add(layout);
}
}

Yllä olevassa koodissa sähköpostisitoutuminen sisältää mukautetun toimittajan, joka näyttää suoraan validoitumisviestit syöttökentän alapuolella. Tämä asetus hyödyntää useReporter-menetelmää, joka konfiguroi miten sitoutuminen käsittelee ja esittää validoitumistuloksia. Tämä menetelmä linkittää validaatiologiikan käyttäjärajapintaan varmistaen, että kaikki validoitumisongelmat ovat heti käyttäjän nähtävillä, parantaen lomakkeen vuorovaikutteisuutta ja käyttäjäkokemusta.