Naar hoofdinhoud gaan

Een veld verplicht of alleen-lezen maken op een formulier

Doel​

Een veld op een formulier markeren als verplicht — de gebruiker moet het invullen voordat het record kan worden opgeslagen — of als alleen-lezen — het veld wordt getoond maar kan niet worden bewerkt.

Vereisten​

  • Je bent aangemeld met een makerrol (of de rol van platformbeheerder).
  • Je hebt een formulier geopend in de Formulierontwerper met het veld erop (zie Een formulier maken).

Stappen​

  1. Selecteer in de Formulierontwerper het veld op het canvas. De instellingen ervan verschijnen in het deelvenster Eigenschappen.

  2. Vink Verplicht aan om het veld op dit formulier verplicht te maken. Een verplicht veld toont een rode ster naast het label, en het formulier weigert op te slaan zolang het veld leeg is, en markeert het met "This field is required."

    Het vakje begint bij de eigen instelling van het veld (zie Een veld aan een tabel toevoegen), dus een veld dat bij het maken als verplicht is gemarkeerd, is hier al aangevinkt — en dat is wat de gebruiker op het formulier zal tegenkomen. Laat je het zoals je het aantrof, dan volgt de plaatsing gewoon het veld; vink je het uit, dan zegt dit formulier dat het veld optioneel is, wat de eigen instelling van het veld later ook zegt.

  3. Vink Alleen-lezen aan om de waarde van het veld te tonen zonder dat de gebruiker haar kan wijzigen. Een alleen-lezenveld wordt als platte tekst weergegeven, zonder invoerbesturingselement.

  4. Selecteer Opslaan.

Wat er achter de schermen gebeurt​

Verplicht en alleen-lezen zijn eigenschappen van de plaatsing van het veld op dit formulier, niet van het veld zelf — dus hetzelfde veld kan op het ene formulier verplicht zijn en op een ander optioneel. Ze worden in de formulierdefinitie opgeslagen en gecontroleerd tegen het formulierschema.

Een plaatsing slaat Verplicht alleen op als die afwijkt van de eigen instelling van het veld. Daardoor werkt een veld dat later als verplicht wordt gemarkeerd door op elk formulier dat nooit iets anders heeft gezegd, terwijl een formulier dat het bewust heeft versoepeld, zijn beslissing houdt.

Verplicht zijn is een formulierregel, precies zoals in Power Apps — het is geen databasebeperking. Elke tabelkolom is op databaseniveau nullable, dus:

  • Het formulier dwingt "vul dit in" af: de controle wordt in de browser uitgevoerd als je opslaat, en een ontbrekende verplichte waarde blokkeert het opslaan zonder heen-en-weer naar de server.
  • Een record dat op een andere manier is gemaakt (een import, een API-aanroep, een gedeeltelijke opslag) wordt niet geweigerd vanwege een ontbrekend verplicht veld. De enige waarde waarop de server staat, is het primaire (naam)veld van het record, omdat elke lijst en elk zoekveld het record daarmee toont.

Omdat verplicht op het formulier staat en niet op de kolom, kun je een verplicht veld aan een bestaande tabel toevoegen, of er een versoepelen, zonder gegevens te herschrijven.

Problemen oplossen​

  • De ster en de verplicht-controle verschijnen niet. — Controleer of je Verplicht hebt aangevinkt op de plaatsing van het veld (selecteer het veld, niet de sectie ervan) en het formulier hebt opgeslagen. De eigen standaardinstelling van een veld geldt alleen als de plaatsing die niet overschrijft.
  • Een veld dat ik als alleen-lezen heb gemarkeerd, slaat nog steeds een oude waarde op. — Alleen-lezen betekent dat de gebruiker het veld op dit formulier niet kan bewerken; een waarde die al op het record staat, wordt getoond en ongewijzigd bewaard. Wil je voorkomen dat er überhaupt een waarde wordt geschreven, haal het veld dan van het formulier.

Gerelateerde scenario's​