React Native-formulieren: invoer, validatie en het toetsenbord

Gids voor React Native-formulieren en validatie

React Native-formulieren: controlled inputs en validatie | We.Inc

Bouw een React Native-formulier met controlled TextInputs, één validatiefunctie, foutmeldingen onder elk veld en toetsenbordafhandeling. Probeer de validatie live in uw browser.

Een betrouwbaar React Native-formulier heeft drie onderdelen nodig: TextInputs die door state worden aangestuurd, één validatiefunctie die per veld een fout teruggeeft, en toetsenbordafhandeling. Toon elke melding pas als iemand dat veld heeft verlaten of op verzenden heeft gedrukt. Zet het scherm in een KeyboardAvoidingView en stel keyboardShouldPersistTaps="handled" in op de ScrollView, zodat de verzendknop bereikbaar blijft.

Onderdelen van een React Native-formulier

De validatieregels op deze pagina zijn gewoon JavaScript, dus de preview hieronder draait precies de functie die u in uw React Native-scherm zou plakken. Vul de velden in, verlaat ze en druk op Account aanmaken om elke melding te zien verschijnen en verdwijnen.

Veelgestelde vragen

Heb ik een formulierbibliotheek nodig in React Native?

Nee. Een paar velden werken prima met useState en een validatiefunctie zoals die op deze pagina. Bibliotheken helpen als een formulier veel velden, geneste arrays of asynchrone controles heeft, en React Hook Form omschrijft zichzelf als werkend op het web en in React Native.

Hoe voorkom ik dat het toetsenbord mijn invoervelden bedekt?

Zet het formulier in een KeyboardAvoidingView. Die past zijn hoogte, positie of padding onderaan aan het toetsenbord aan; behavior="padding" is de gebruikelijke keuze op iOS. keyboardVerticalOffset houdt rekening met een header boven de view en staat standaard op 0.

Waarom moet ik twee keer op mijn verzendknop tikken?

keyboardShouldPersistTaps van de ScrollView staat standaard op "never", dus de eerste tik sluit alleen het toetsenbord. Zet het op "handled" en de knop krijgt de tik meteen.

Hoe sluit ik het toetsenbord na het verzenden?

Roep Keyboard.dismiss() aan, dat volgens de documentatie het actieve toetsenbord sluit en de focus weghaalt.

Wanneer u een fout toont

Fouten toegankelijk maken

Formuliercode om te kopiëren

De validatiefunctie

Gewoon JavaScript zonder React Native-imports, dus het draait in tests, in de webpreview en op een server.

Aanmeldscherm met aangeraakte velden en toetsenbordafhandeling

Eén values-object, één touched-object, en een Field-helper die zijn fout alleen toont wanneer dat hoort.

Vul uw naam in.

Vul uw e-mailadres in.

Dit e-mailadres mist een @ of een domein.

Gebruik minstens 8 tekens.

De twee wachtwoorden komen niet overeen.

Validatiepreview

De controles draaien de validatiefunctie uit de code hieronder. Meldingen verschijnen nadat u een veld verlaat of op de knop drukt.

Naam

Wachtwoord

Wachtwoord bevestigen

Account aanmaken

Alle velden zijn geldig. Een echte app zou de waarden nu versturen.

{n} veld(en) vragen aandacht.

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap