Salah satu cara untuk memastikan kualitas data adalah dengan menambahkan batasan (constraint) ke bidang data dalam formulir Anda. Batasan membantu mencegah pengguna memasukkan jawaban yang tidak valid atau tidak mungkin. Misalnya, saat menanyakan pendapatan seseorang, Anda ingin menghindari nilai yang tidak realistis, seperti angka negatif atau nilai yang sangat tinggi. Menambahkan batasan data dalam formulir Anda mudah dilakukan. Cukup ikuti langkah-langkah di bawah ini:

  1. Tambahkan kolom baru bernama “constraint” ke formulir Anda.
  2. Di kolom “constraint”, masukkan rumus yang menentukan batas pada jawaban.

Contoh

Mari kita pertimbangkan contoh di mana kita ingin menambahkan batasan untuk pendapatan seseorang. Batasan mengharuskan pendapatan berada antara $0 dan $1.000.000. Berikut cara Anda mengatur batasan:

nameconstraint
Income. >= 0 & . <= 1000000

Dalam contoh di atas, “.” dalam rumus merujuk kembali ke variabel pertanyaan, yang mewakili nilai yang dimasukkan pengguna untuk pertanyaan “Income”. Batasan “. >= 0 && . <= 1000000” memastikan bahwa pendapatan yang dimasukkan lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan 1.000.000.

Batasan keras (Hard constraint)

Batasan keras memblokir pengiriman formulir sepenuhnya jika nilai yang dimasukkan tidak memenuhi ekspresi. Enumerator tidak dapat melanjutkan sampai mereka memasukkan nilai yang valid.

Untuk menambahkan batasan keras, masukkan ekspresi Anda di kolom constraint. Secara opsional tambahkan pesan yang mudah dibaca di constraint_message:

typenamelabelconstraintconstraint_message
integerageUsia responden. > 0 and . <= 120Usia harus antara 1 dan 120
decimaltemperatureSuhu tubuh (°C). >= 35 and . <= 42Suhu harus antara 35°C dan 42°C
textphoneNomor teleponregex(., '^[0-9]{10}$')Masukkan nomor telepon 10 digit

Beberapa kondisi

Gabungkan kondisi dengan and / or:

  . >= 0 and . <= 100
  
  . = 'yes' or . = 'no'
  

Menggunakan regex() untuk validasi pola

Fungsi regex(value, pattern) menguji nilai terhadap regular expression:

typenamelabelconstraintconstraint_message
textemailAlamat emailregex(., '^[^@]+@[^@]+\.[^@]+$')Masukkan alamat email yang valid
textzip_codeKode posregex(., '^[0-9]{5}$')Masukkan kode pos 5 digit

Mereferensikan bidang lain dalam batasan

Gunakan ${fieldname} untuk mereferensikan nilai dari pertanyaan lain:

typenamelabelconstraintconstraint_message
integerend_yearTahun akhir. >= ${start_year}Tahun akhir harus setelah tahun mulai
decimalloan_repaidJumlah yang dilunasi. <= ${loan_amount}Tidak dapat melunasi lebih dari jumlah pinjaman

Peringatan lunak (Soft alert)

Peringatan lunak (juga disebut batasan lunak atau peringatan) memperingatkan enumerator bahwa suatu nilai terlihat tidak biasa, tetapi tetap memungkinkan mereka melanjutkan. Ini berguna ketika suatu nilai secara teknis valid tetapi secara statistik tidak mungkin.

rtSurvey mendukung peringatan lunak menggunakan kolom constraint dengan pendekatan constraint_type khusus, atau melalui appearance soft dikombinasikan dengan bidang note.

Pola yang paling umum adalah menggunakan note dengan ekspresi relevant yang menandai nilai yang mencurigakan, dipasangkan dengan pertanyaan acknowledge untuk konfirmasi:

typenamelabelrelevant
integerchildrenJumlah anak
notechildren_warningPeringatan: Anda memasukkan ${children} anak. Harap konfirmasi ini benar.. > 15
triggerchildren_confirmKonfirmasi jumlah anak sudah benar${children} > 15

Peringatan lunak dengan constraint_message saja

Untuk peringatan lunak yang lebih sederhana, Anda dapat merumuskan batasan untuk memperingatkan pada nilai ekstrem tetapi tetap memungkinkan rentang yang luas:

typenamelabelconstraintconstraint_message
integerchildrenJumlah anak. >= 0 and . <= 30Nilai ini tampaknya sangat tinggi. Harap verifikasi.
Apakah halaman ini membantu?