Formulierveld

From Joomla! Documentation

This page is a translated version of the page Form field and the translation is 16% complete.
Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎العربية • ‎中文(台灣)‎

Inleiding

Formuliervelden zijn velden in een HTML <form>. Joomla! 2.5 Joomla 2.5 en nieuwer leveren de JForm class om gemakkelijk en flexibel formulieren te maken met een groot aantal formuliervelden. Elk formulierveld type is een sub-class van JFormField.

Naast een flexibel pagina-aanmaak hulpmiddel te zijn, worden JFormField's door Joomla! gebruikt om administrators de mogelijkheid te geven Joomla! of zijn extensies in te stellen zonder de onderliggende code te wijzigen. In Joomla! 1.5, werd dit afgehandeld door de niet meer te gebruiken JParameter en JElement classes.

Om formuliervelden bij het instellen van extensies te definiëren, moet u ze opnemen in een benoemde fieldset, zoals <fieldset name="basic">, die staat binnen de <fields name="params"> sectie van het <config> element in uw XML manifest bestand.


== Formulier validatie ==

Joomla heeft client-side en server-side formulier validatie mogelijkheden.
Server-side validatie is essentieel aangezien alles daarvoor overschreven kan worden aan de gebruikers kant door hackers. Maar client-side is het meest gebruikersvriendelijk, beide gebruiken is dus het beste.

Client-side validatie

.. wordt gedaan via javascript terwijl de gebruiker de formuliervelden invult.
Het gebruikt de HTML classes required en validate-[xxx] (waarbij [xxx] een joomla of eigen regel is; bijvoorbeeld validate-numeric)

Meer staat hier: Client-side formulier validatie

Server-side validatie

.. wordt uitgevoerd nadat het formulier verzonden is en zal normaliter naar het formulier terugkeren als het niet goed is met enkele extra berichten.
Het gebruikt de HTML attributen required ("true" of "required") en validate (waarbij de waardes een Joomla of eigen regel zijn; bijvoorbeeld validate="email")

Meer staat hier: Server-side formulier validatie


== Standaard formulierveld types ==

Talrijke formulierveld types zijn in Joomla! gebouwd. De volgende tabel toont deze standaard types en hun beschikbaarheid. Gebruik de één pagina verwijzing als u alle bestaande formulierveld documentatie wilt afdrukken.

Joomla 1.5 Let op dat veel van deze velden beschikbaar zijn als parameter types in Joomla! 1.5. Kijk, voor een lijst met parameter types bij J1.5:Standaard parameter types. Kijk, voor een vergelijking tussen formulierveld en parameter types bij Standaard formulierveld en parameter types.

Type Beschrijving Beschikbaarheid
accessiblemedia provides modal access to the media manager for insertion of images with upload for users with appropriate permissions and a text field for adding a alternative text. Joomla 4.0 and newer
accesslevel Biedt een drop-down lijst met view toegangsniveaus. Joomla 2.5 en nieuwer
cachehandler Biedt een lijst met beschikbare cache handling opties. Joomla 2.5 en nieuwer
calendar Biedt een tekstvak voor het invoeren van een datum. Een pictogram naast het tekstvak bevat een link naar een pop-up kalender, die ook kan worden gebruikt om de datum in te voeren. Joomla 2.5 en nieuwer
captcha Biedt het gebruik van een captcha plugin. Joomla 2.5 en nieuwer
category Biedt een drop-down lijst met de categorieën voor een extensie. Joomla 2.5 en nieuwer
checkbox Biedt één vak die aan- of uitgevinkt kan worden Joomla 2.5 en nieuwer
checkboxes Biedt onbeperkte vakjes die kunnen worden gebruikt voor de meerdere selecties. Joomla 2.5 en nieuwer
Chrome Style Biedt een lijst met template chroom stijl opties gegroepeerd per template. Joomla 3.0 en nieuwer
color Biedt een kleurkiezer bij het klikken op het invoervak. Joomla 2.5 en nieuwer
Content Language Biedt een lijst met inhoud talen. Joomla 2.5 en nieuwer
Content Type Biedt een lijst met inhoud types. Joomla 3.1 en nieuwer
combo Biedt een keuze lijst met invoer vak veld. Joomla 2.5 en nieuwer
componentlayout Biedt een gegroepeerde lijst met core en alternatieve template lay-outs voor een component item. Joomla 2.5 en nieuwer
contentlanguage Biedt een lijst van geïnstalleerde inhoud talen voor gebruik in combinatie met de taalswitch plugin. Joomla 2.5 en nieuwer
Database Connection Biedt een lijst met beschikbare databaseverbindingen, eventueel beperkt tot een bepaalde lijst. Joomla 2.5 en nieuwer
editor Biedt een editor-veld. Joomla 1.6 en nieuwer
editors Biedt een drop-down lijst met beschikbare WYSIWYG-editors. Gebruik vanaf Joomla 2.5 in plaats daarvan het plugins formulierveld . Joomla 1.6
email Biedt een e-mail veld. Joomla 2.5 en nieuwer
file Biedt een invoerveld voor bestanden Joomla 2.5 en nieuwer
filelist Biedt een drop-down lijst met bestanden uit een bepaalde map. Joomla 2.5 en nieuwer
folderlist Biedt een drop-down lijst met mappen uit een bepaalde map. Joomla 2.5 en nieuwer
groupedlist Biedt een drop-down lijst met items ingedeeld in groepen. Joomla 2.5 en nieuwer
header tag Biedt een drop-down lijst met header tags (h1-h6). Joomla 3.0 en nieuwer
helpsite Biedt een drop-down lijst met de help-sites voor uw Joomla installatie. Joomla 2.5 en nieuwer
hidden Biedt een verborgen veld voor het opslaan van een formulierveld waarvan de waarde niet direct door een gebruiker in het beheer gewijzigd kan worden (het kan gewijzigd worden in de code of door het bewerken van het "params.ini" bestand). Joomla 2.5 en nieuwer
imagelist Biedt een drop-down lijst met afbeeldingen uit een bepaalde map. Joomla 2.5 en nieuwer
integer Biedt een drop-down lijst van gehele getallen tussen een minimum en een maximum. Joomla 2.5 en nieuwer
language Biedt een drop-down lijst van de geïnstalleerde talen voor de website of het beheergedeelte. Joomla 2.5 en nieuwer
list Biedt een drop-down lijst met eigen gedefinieerde items. Joomla 2.5 en nieuwer
media Biedt modale toegang tot mediabeheer voor het invoegen van afbeeldingen met upload-rechten voor gebruikers met de juiste machtigingen. Joomla 2.5 en nieuwer
menu Biedt een drop-down lijst met de beschikbare menu's van uw Joomla site. Joomla 2.5 en nieuwer
Menu Item Biedt een drop-down lijst met de beschikbare menu-items van uw Joomla site. Joomla 2.5 en nieuwer
meter Biedt een meetlat om waarden in een bereik te tonen. Joomla 3.2 en nieuwer
Module Layout Biedt een lijst met alternatieve lay-out voor een module gegroepeerd per core en template. Joomla 2.5 en nieuwer
Module Order Biedt een drop-down lijst om de volgorde van modules op een bepaalde positie in te stellen Joomla 2.5 en nieuwer
Module Position Biedt een tekst invoerveld om de positie van een module in te stellen. Joomla 2.5 en nieuwer
Module Tag Biedt een lijst met html5-elementen (gebruikt een module op te maken). Joomla 3.0 en nieuwer
note Ondersteunt een tekstveld van één regel. Joomla 3.1 en nieuwer
number Biedt een tekstvak van één regel met op-en-neer mogelijkheden om een getal in het veld in te stellen. Joomla 3.2 en nieuwer
password Biedt een tekstvak voor het invoeren van een wachtwoord. De tekens van het wachtwoord worden verborgen als ze worden ingevoerd. Joomla 2.5 en nieuwer
plugins Biedt een lijst met plugins uit een bepaalde map. Joomla 2.5 en nieuwer
predefinedlist Formulierveld om een lijst met vooraf gedefinieerde waarden te laden. Joomla 3.2 en nieuwer
radio Biedt radio-knoppen om verschillende opties te kiezen. Joomla 2.5 en nieuwer
range Biedt een horizontale schuifbalk om een waarde in een bereik op te geven. Joomla 3.2 en nieuwer
repeatable Laat formuliervelden toe die zo veel opties als de gebruiker wenst kunnen hebben. Joomla 3.2 en nieuwer
rules Biedt een matrix van groepen t.o.v. acties om toegangsbeheer te regelen. Het getoonde is afhankelijk van de context. Joomla 2.5 en nieuwer
sessionhandler Biedt een drop-down lijst met session handler opties. Joomla 2.5 en nieuwer
spacer Biedt een visuele scheiding tussen formuliervelden. Het is puur een visueel hulpmiddel en er wordt geen waarde opgeslagen. Joomla 2.5 en nieuwer
sql Biedt een drop-down lijst met items verkregen door het uitvoeren van een query op de Joomla Database. De resultaten van de eerste kolom die door de query worden geretourneerd, bevatten de waarden voor de drop-down lijst. Joomla 2.5 en nieuwer
subform biedt een manier om XML formulieren te gebruiken in elkaar of uw bestaande formulieren te hergebruik in uw huidige formulier. Joomla 3.6 en nieuwer
tag Biedt een startpunt voor tags (of AJAX of genest). Joomla 3.1 en nieuwer
tel Biedt een invoerveld voor een telefoonnummer. Joomla 2.5 en nieuwer
templatestyle Biedt een drop-down lijst met template stijlen. Joomla 2.5 en nieuwer
text Biedt een tekstvak voor het invoeren van gegevens. Joomla 2.5 en nieuwer
textarea Biedt een tekstvak voor het invoeren van meerdere regels tekst. Joomla 2.5 en nieuwer
timezone Biedt een drop-down lijst met tijdzones. Joomla 2.5 en nieuwer
URL Biedt een URL-invoerveld. Joomla 2.5 en nieuwer
user Veld voor het selecteren van een gebruiker uit een modale lijst. Toont gebruikersnaam en slaat gebruikers-ID op Joomla 1.6 en nieuwer
useractive Veld om een lijst met beschikbare gebruikers-actieve statussen te tonen. Joomla 3.2 en nieuwer
usergroup Biedt een drop-down lijst met gebruikersgroepen. Gebruik vanaf Joomla 3.2 in plaats daarvan usergrouplist. Joomla 2.5 en nieuwer
usergrouplist Veld om een drop-down lijst te laden met beschikbare gebruikersgroepen. Vervangt usergroup formulierveld type. Joomla 3.2 en nieuwer
userstate Veld om een lijst met beschikbare gebruikers statussen te tonen. Joomla 3.2 en nieuwer


== Eigen formulierveld type's ==

Een extensie kan zijn eigen formulierveld types definiëren, welke daarna gebruikt kunnen worden in zijn eigen formulieren of in formulieren aangemaakt in een andere extensie. Zie Het maken van een eigen formulierveld type voor uitleg.

=== Modale formulierveld types ===

Als u een veld heeft met veel waarden, die niet in een keuzelijst passen, dan kunt u altijd een modaal formulierveld maken dat de gebruiker de mogelijkheid geeft om een item op een modale pagina te kiezen via een tabel, filter-opties, etc. (net als iedere beheer-tabel, bijvoorbeeld "Artikelen").

Zie Het maken van een modaal formulierveld

== Algemene attributen == === Labelclass ===

Het toevoegen van het attribuut labelclass voegt een CSS class toe aan het label van het formulierveld. Bron:

http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=28450

=== Showon ===

Het toevoegen van het attribuut showon geeft de mogelijkheid het veld te verbergen afhankelijk van de waard(en) van een ander veld.

Syntaxis om het veld alleen te tonen bar wanneer foo op "1" en baz op "1" staat:

<field
    name="foo"
    type="list"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>
<field
    name="bar"
    type="text"
    showon="foo:1"
/>

Om aan meerdere waarden te voldoen kan men een door komma's gescheiden lijst met waarden aanbieden. Zoals showon="foo:1,2"

Om meerdere velden te combineren kunt u [AND] gebruiken. Zoals showon="foo:1[AND]bar:1"

Syntaxis om het veld "bar" alleen te tonen wanneer "foo" op "1" en "baz" op "1" is gezet:

<field
    name="foo"
    type="list"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>
<field
    name="baz"
    type="list"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>
<field
    name="bar"
    type="text"
    showon="foo:1[AND]baz:1"
/>

Om een keuze tussen verschillende velden aan te maken, kunt u [OR] gebruiken. Zoals showon="foo:1[OR]bar:1".

Syntaxis om het veld "bar" alleen te tonen wanneer "foo" op "1" of "baz" op "1" is gezet:

<field
    name="foo"
    type="list"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>
<field
    name="baz"
    type="list"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>
<field
    name="bar"
    type="text"
    showon="foo:1[OR]baz:1"
/>

U kan ook "waarde niet gelijk aan" gebruiken zoals showon="field1!:1".

Syntaxis om het veld "bar" alleen te tonen wanneer "foo" niet gelijk is aan "1":

<field
    name="foo"
    type="list"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>
<field
    name="baz"
    type="list"
    showon="foo!:1"
    >
    <option value="1">JYES</option>
    <option value="0">JNO</option>
</field>

Om een veld te tonen als een ander veld (bijvoorbeeld foo) geselecteerd is (als dat andere veld niet leeg is), u kunt showon="foo!:" gebruiken (dus zonder een waarde op te geven).

Dit is ingevoerd via PullRequest: https://github.com/joomla/joomla-cms/pull/3379, beschikbaar vanaf Joomla 3.2.4.

Foutopsporing: Attributen werken niet

Als je een oudere versie van onze ontwikkelaar documentatie hebt gelezen, of je formuliercode hebt overgenomen van een bestaande extensie, dan kunnen er problemen ontstaan dat attributen zoals showon helemaal niet werken. Om enkele specifieke attributen te laten werken moeten je velden gerenderd worden via de renderField() methode. Bijvoorbeeld:

<div class="row-fluid">
    <div class="span6">
        <?php
            foreach($this->form->getFieldset() as $field) {
                echo $field->renderField();
            }
        ?>
    </div>
</div>