Kolom form

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.

Pendahuluan

Kolom form adalah kolom-kolom di dalam sebuah <form> HTML . Joomla! 2.5 Joomla 2.5 dan yang lebih baru menyuplai kelas JForm untuk membuat form secara mudah dan fleksibel dengan sejumlah besar kolom-kolom form. Setiap jenis kolom form adalah subkelas JFormField.

Selain menjadi sebuah perangkat pembuatan halaman yang fleksibel, JFormField dipakai Joomla! untuk memungkinkan para administrator mengkonfigurasikan Joomla! atau ekstensi-ekstensinya tanpa mengganti kode intinya. Di Joomla! 1.5, ini dikendalikan oleh kelas-kelas JParameter dan JElement yang sekarang sudah tidak terpakai lagi.

Untuk mendefinisikan kolom-kolom formulir di dalam konfigurasi sebuah ekstensi, Anda harus menyertakannya di sebuah fieldset yang memiliki nama, seperti misalnya <fieldset name="basic">, bersama bagian <fields name="params"> elemen <config> di berkas manifes XML Anda.


== Validasi form ==

Joomla has client-side and server-side form validation capabilities.
Server side validation is essential since everything before that can be overridden on the user side by hackers. However client-side is the most user-friendly validation, so using both is considered best practice.

Client-side validation

.. is done via javascript while the user is filling in the form fields.
It uses the HTML classes required and validate-[xxx] (with [xxx] being a joomla or custom rule; e.g. validate-numeric)

More here: Client-side form validation

Server-side validation

.. is done after having submitted the form and will normally return to the form when not validated with some extra messages.
It uses the HTML attributes required ("true" or "required") and validate (with value being a joomla or custom rule; e.g. validate="email")

More here: Server-side form validation


== Standar jenis kolom form ==

Banyak jenis kolom form yang dibuat kedalam Joomla. Tabel berikut ini adalah jenis-jenis standar dan ketersediaannya. Gunakan referensi halaman-tunggal bila Anda ingin mencetak semua dokumentasi kolom form.

Joomla 1.5 Pastikan bahwa, ada banyak kolom-kolom berikut yang tersedia sebagai jenis parameter di Joomla! 1.5. Untuk satu jenis parameter, lihat J1.5:Jenis parameter standar. Untuk perbandingan antara kolom form dan jenis parameter, lihat Kolom form standar dan jenis parameter.

Jenis Deskripsi Ketersediaan
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 menyediakan sebuah dropdown untuk melihat tingkatan akses. Joomla 2.5 dan terbaru
cachehandler menyediakan sebuah opsi pengendali cache yang ada. Joomla 2.5 dan terbaru
calendar menyediakan sebuah kotak teks untuk memasukkan tanggal. Ikon disamping kotak teks memberikan sebuah tautan ke pop-up kalender, yang juga bisa dipakai untuk memasukkan nilai tanggal. Joomla 2.5 dan terbaru
captcha menyediakan pemakaian plugin captcha. Joomla 2.5 dan terbaru
category menyediakan sebuah dropdown dari kategori sebuah ekstensi. Joomla 2.5 dan terbaru
checkbox menyediakan sebuah kotak centang untuk dicentang atau tidak dicentang. Joomla 2.5 dan terbaru
checkboxes menyediakan banyak kotak centang tak terbatas yang bisa dipakai untuk multi-select. Joomla 2.5 dan terbaru
Chrome Style menyediakan sebuah daftar opsi gaya chrome templat yang dikelompokkan berdasarkan templat. Joomla 3.0 dan terbaru
color menyediakan pemilih warna pada saat mengklik kotak inputnya. Joomla 2.5 dan terbaru
Content Language menyediakan sebuah daftar bahasa konten. Joomla 2.5 dan terbaru
Content Type menyediakan sebuah daftar jenis konten. Joomla 3.1 dan terbaru
combo menyediakan sebuah kolom combo box. Joomla 2.5 dan terbaru
componentlayout

menyediakan sekelompok daftar inti dan tata letak alternatif templat untuk sebuah butir komponen.

Joomla 2.5 dan terbaru
contentlanguage menyediakan sebuah daftar bahasa konten yang diinstal untuk dipakai berhubungan dengan plugin pengganti bahasa. Joomla 2.5 dan terbaru
Database Connection menyediakan sebuah daftar koneksi database yang ada, secara opsional membatasi ke daftar yang diberikan. Joomla 2.5 dan terbaru
editor menyediakan sebuah kolom area editor. Joomla 1.6 dan terbaru
editors menyediakan sebuah dropdown untuk daftar editor WYSIWYG yang ada. Sejak Joomla 2.5, gunakanlah plugin kolom form Joomla 1.6
email menyediakan sebuah kolom email. Joomla 2.5 dan terbaru
file menyediakan sebuah kolom input untuk berkas-berkas. Joomla 2.5 dan terbaru
filelist menyediakan sebuah dropdown dari berkas-berkas yang berasal dari sebuah direktori tertentu. Joomla 2.5 dan terbaru
folderlist menyediakan sebuah dropdown dari folder-folder yang berasal dari direktori tertentu. Joomla 2.5 dan terbaru
groupedlist menyediakan sebuah dropdown dari butir-butir yang disusun kedalam kelompok-kelompok. Joomla 2.5 dan terbaru
header tag menyediakan sebuah dropdown dari tagar-tagar tajuk (h1-h6). Joomla 3.0 dan terbaru
helpsite menyediakan sebuah dropdown dari situs-situs bantuan. Joomla 2.5 dan terbaru
hidden menyediakan sebuah kolom yang tersembunyi dari sebuah kolom form dimana nilainya tidak dapat diubah secara langsung oleh pengguna (dapat diubah didalam kode atau dengan mengedit berkas params.ini). Joomla 2.5 dan terbaru
imagelist menyediakan sebuah dropdown dari berkas-berkas gambar dalam direktori tertentu. Joomla 2.5 dan terbaru
integer menyediakan sebuah dropdown dari integers minimal dan maksimal. Joomla 2.5 dan terbaru
language menyediakan sebuah dropdown dari bahasa yang diinstal baik untuk Frontend maupun Backend. Joomla 2.5 dan terbaru
list menyediakan sebuah dropdown dari sebuah entri yang didefinisikan secara kustom. Joomla 2.5 dan terbaru
media menyediakan akses modal untuk di pengelolaan media untuk memasukkan gambar-gambar unggahan bagi pengguna yang diizinkan. Joomla 2.5 dan terbaru
menu menyediakan sebuah dropdown menu. Joomla 2.5 dan terbaru
Menu Item menyediakan sebuah dropdown butir-butir menu. Joomla 2.5 dan terbaru
meter menyediakan rentang angka dari sebuah nilai. Joomla 3.2 dan terbaru
Module Layout menyediakan tata letak alternatif untuk sekelompok modul inti dan templat. Joomla 2.5 dan terbaru
Module Order menyediakan sebuah dropdown untuk mengatur posisi modul. Joomla 2.5 dan terbaru
Module Position menyediakan input teks untuk mengatur posisi modul. Joomla 2.5 dan terbaru
Module Tag menyediakan daftar elemen-elemen HTML5 (untuk membungkus modul). Joomla 3.0 dan terbaru
note untuk membuat sebuah kolom teks satu baris. Joomla 3.1 dan terbaru
number menyediakan satu baris kotak teks berpengendali naik-turun untuk mengatur nomor kolom. Joomla 3.2 dan terbaru
password menyediakan sebuah kotak teks untuk memasukkan sandi. Karakter sandi akan disembunyikan pada saat diketik kedalamnya. Joomla 2.5 dan terbaru
plugins menyediakan daftar plugin dari sebuah folder tertentu. Joomla 2.5 dan terbaru
predefinedlist kolom form yang akan memuat nilai-nilai yang ditentukan. Joomla 3.2 dan terbaru
radio menyediakan tombol-tombol radio. Joomla 2.5 dan terbaru
range menyediakan sbeuah bilah scroll horizontal untuk menentukan nilai dalam suatu rentang. Joomla 3.2 dan terbaru
repeatable menyediakan kolom form yang bisa memiliki sebanyak apapun opsi-opsi yang diinginkan. Joomla 3.2 dan terbaru
rules menyediakan kelompok matriks dari opsi tindakan untuk mengelola kendali akses. Tampilannya tergantung konteks. Joomla 2.5 dan terbaru
sessionhandler menyediakan sebuah dropdown dari opsi pengendali sesi. Joomla 2.5 dan terbaru
spacer menyediakan pemisal visual diantara kolom-kolom form. Semata-mata bantuan visual saja dan tidak memiliki nilai yang disimpan didalamnya. Joomla 2.5 dan terbaru
sql menyediakan sebuah dropdown entri yang diperoleh dari query Database. Kolom pertamanya adalah kembalian query yang memiliki nilai untuk dropdown tersebut. Joomla 2.5 dan terbaru
subform menyediakan sebuah cara untuk menggunakan kolom-kolom XML antara yang satu dengan lainnya atau memakai form yang sudah ada kedalam form saat ini. Joomla 3.6 dan terbaru
tag menyediakan sebuah entri poin untuk tagar-tagar (baik AJAX maupun yang Nested). Joomla 3.1 dan terbaru
tel menyediakan sebuah kolom input untuk nomor telepon. Joomla 2.5 dan terbaru
templatestyle menyediakan sebuah dropdown gaya-gaya templat. Joomla 2.5 dan terbaru
text menyediakan sebuah kotak teks untuk entri data. Joomla 2.5 dan terbaru
textarea menyediakan sebuah textarea untuk memasukkan tulisan yang memiliki baris yang banyak. Joomla 2.5 dan terbaru
timezone menyediakan sebuah dropdown zona waktu. Joomla 2.5 dan terbaru
URL menyediakan sebuah kolom input URL. Joomla 2.5 dan terbaru
user kolom untuk memilih pengguna dari sebuah modal. Menampilkan Nama dari Pengguna dan menyimpan ID Pengguna. Joomla 1.6 dan terbaru
useractive kolom yang menampilkan sebuah daftar status pengguna yang aktif. Joomla 3.2 dan terbaru
usergroup menyediakan sebuah dropdown kelompok pengguna. Sejak Joomla 3.2, gunakanlah usergrouplist Joomla 2.5 dan terbaru
usergrouplist kolom untuk memuat sebuah dropdown kelompok pengguna. Menggantikan usergroup pada versi sebelumnya. Joomla 3.2 dan terbaru
userstate kolom untuk memuat sebuah daftar status pengguna. Joomla 3.2 dan terbaru


== Jenis kolom form kustom ==

Sebuah ekstensi dapat mendefinisikan jenis kolom formnya sendiri, yang mana dapat dipakai di formnya sendiri atau form lain yang dibuat oleh ekstensi lain. Lihat Membuat sebuah jenis kolom form untuk petunjuknya.

=== Modal jenis kolom form ===

Jika Anda memiliki sebuah kolom dengan banyak nilai yang tidak muat di dalam sebuah kotak pemilihan, Anda dapat selalu membuat sebuah modal kolom form yang memungkinkan para pengguna untuk memilih sebuah butir dari sebuah halaman modal dengan sebuah tabel, opsi filter, dll (seperti tabel administrator apa saja, cth "Artikel").

Lihat Membuat sebuah modal kolom form

== Atribut umum == === Labelclass ===

Menambahkan atribut labelclass akan menambah sebuah kelas CSS untuk label kolom formnya. Sumber:

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

=== Showon ===

Menambah atribut showon memungkinkan untuk menyembunyikan kolomnya berdasarkan pada nilai kolom lainnya.

The syntax to show the field bar only when foo is set to "1" and baz is set to "1":

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

To match multiple values one can provide a comma-separated list of values such as showon="foo:1,2"

To combine multiple fields, use [AND] as in showon="foo:1[AND]bar:1"

Sintak untuk menampilkan hanya "bilah" ketika "foo" diatur ke "1":

<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"
/>

To create a choice among multiple fields, use [OR] as in showon="foo:1[OR]bar:1".

The syntax to show the field bar only when foo is set to "1" or baz is set to "1":

<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"
/>

You can also use value 'does not equal' as in showon="field1!:1".

The syntax to show the field bar only when foo is not equal to "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>

To show a field when another field (e.g. foo) has been selected (when that other field is not empty), use showon="foo!:" (without a value specified).

Ini diperkenalkan bersama PullRequest: https://github.com/joomla/joomla-cms/pull/3379, yang tersedia mulai dari Joomla 3.2.4.

Troubleshooting: Attributes Not Working

If you have read an older version of our developer documentation, or took your form display code from an existing extension, you may be experiencing issues with attributes like showon not working at all. In order for some special attributes to function, your fields must be rendered using their renderField() method. For example:

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