formbasedocs
Uygulamaya gitUygulama

Form Oluşturma

Koşullu mantık

Mantık blokları, yanıtlayanın girdiği bilgilere tepki verir — herhangi bir bloğu gösterir veya gizler, sayfalara atlar, gönderimi engeller ya da değerleri hesaplar. Basit kuralları kod yazmadan karmaşık dallara yayılan yapılara dönüştür.


Mantık ne yapabilir

Her mantık bloğunun bir veya daha fazla kuralı vardır. Her kural, bir koşul grubunu (ne zaman çalışmalı?) bir veya daha fazla eylemle (ne olmalı?) eşleştirir. Dokuz eylem türü mevcuttur:

EylemNe yapar
GösterKoşullar eşleştiğinde gizli bir bloğu — bir soru, paragraf, görsel veya seçenek — görünür kılar.
GizleKoşullar eşleştiğinde görünür bir bloğu — bir soru, paragraf, görsel veya seçenek — gizler.
Zorunlu yapBelirli yollar için bir alanı dinamik olarak zorunlu kılar.
İsteğe bağlı yapKoşullar eşleştiğinde zorunlu bir alandaki doğrulamayı gevşetir.
Sonraki sayfayı ayarlaBelirli bir sayfaya atlar — dallanma oluşturmanın yolu budur.
Değeri hesaplaDiğer yanıtlardan toplamlar, puanlar veya fiyatlandırma hesaplar.
Ödeme tutarını ayarlaYanıtlara göre bir Ödeme alanının fiyatını ayarlar, artırır veya azaltır.
Sonraki sayfaya geçişi engelleNedenini açıklayan isteğe bağlı bir mesajla yanıtlayanın ilerlemesini durdurur.
Form gönderimini engelleKoşullar karşılanana kadar gönderimi engeller (örn. şartlar kabul edilmeden), nedenini açıklayan isteğe bağlı bir mesajla.

Mantık bloğu ekleme

Mantık bloğu bir belge öğesidir — bir başlık veya görsel gibi, tuval üzerinde sorular arasında bulunur. İstediğin yere yerleştirebilirsin: aynı sayfadaki iki alan arasına, sayfanın başına veya sayfa sonu öncesine.

  1. 1

    Slash menüsünü aç

    Tuvalde boş bir satıra tıkla ve / yaz. Blok seçici görünür.

  2. 2

    "Logic" ara

    Filtrelemek için logic yaz. Düzen kategorisinden Logic’i seç. İmleç konumunda yeni bir mantık bloğu belirir.

  3. 3

    Kural ekle

    Blok, Ne zaman … Yap … şeklinde okunur. Her kuralın bir koşul grubu ve bir veya daha fazla eylemi vardır.

  4. 4

    Koşulları tanımla

    Bir alan seç, bir işleç belirle ve bir değer gir. Başka bir koşul ekle ya da bir düzey daha derine yuvalamak için bir koşul kümesi ekle.

  5. 5

    Eylemleri seç

    Bir eylem türü seç (Göster, Gizle, Zorunlu yap, Sonraki sayfayı ayarla vb.) ve hedefi belirle — bir soru, blok, seçenek veya sayfa.

  6. 6

    Daha fazla kural ekle (isteğe bağlı)

    Tek bir mantık bloğu birden fazla kural içerebilir. Her kural bağımsızdır: kendi koşulları, kendi eylemleri.

Koşullar

Koşullar, bir kuralın Ne zaman tarafıdır. Her koşul bir alan seçer, bir işleç uygular ve çoğunlukla bir değerle karşılaştırır. Alan seçici, izleyebileceklerini gruplandırır: Sorular, Gizli Alanlar, Hesaplanan Alanlar ve Meta Veri (bugün için, yanıtlayanın dili).

Tümü mü Herhangi Biri mi

Bir kuralın iki veya daha fazla koşulu olduğunda, Ne zaman bölümünün üstünde bir geçiş belirir:

  • Tümü — kuralın çalışması için her koşulun doğru olması gerekir. Satırlar “ve” okunur.

  • Herhangi Biri — tek bir doğru koşul yeterlidir. Satırlar “veya” okunur.

Koşul setleri

Bir koşul seti ekle, ilkinin içine tek düzey derinliğinde, kendi Tümü/Herhangi Biri geçişine sahip ikinci bir grup yuvalar. Bu, “plan şuna eşit Pro ve (ülke şuna eşit Norveç veya ülke şuna eşit İsveç)” gibi bileşik mantığı kapsar. Bir set yalnızca koşul tutar — başka bir set tutamaz.

Okunabilir tut

Tek bir mantık bloğu çok karmaşık görünüyorsa, mantığı birden fazla mantık bloğuna bölmeyi veya form sayfalarını yeniden yapılandırmayı düşün.

İşleçler referansı

İşleç listesi, seçtiğin alana göre belirlenir — yalnızca o alanın desteklediği işleçleri görürsün. Aşağıda her başlık, tam kümeyi adlandırır.

Metin (Metin Girişi, Metin Alanı ve metin hesaplanan alanları)

İşleçAçıklama
şuna eşitDeğer eşleşiyor; büyük/küçük harf ve baştaki ya da sondaki boşluklar dikkate alınmaz
şuna eşit değilDeğer eşleşmiyor
şunu içerirDeğer belirtilen metni içeriyor
şunu içermezDeğer belirtilen metni içermiyor
şununla başlarDeğer belirtilen metinle başlıyor
şununla biterDeğer belirtilen metinle bitiyor
boşAlanın değeri yok
boş değilAlanın herhangi bir değeri var

Her metin karşılaştırması büyük/küçük harfi ve baştaki ve sondaki boşlukları yok sayar; yani x@Competitor.com, @competitor.com ile biter.

Diğer metin benzeri girişler daha dar bir küme taşır, bu yüzden karşılaştırma ihtiyacına uyan türü seç:

AlanSunduğu işleçler
E-postaşunu içerir, şunu içermez, şuna eşit, şununla biter, boş, boş değil
Web Sitesi URL’sişunu içerir, şunu içermez, şuna eşit, şununla başlar, şununla biter, boş, boş değil
Telefon Numarasışuna eşit, şununla başlar, şunu içerir, boş, boş değil
Gizli alan (metin)Yukarıdaki tam metin kümesi

Sayısal (Sayı, Yıldız Değerlendirme, doğrusal ölçek, sayısal gizli ve hesaplanan alanlar)

İşleçAçıklama
şuna eşitDeğer tam eşleşiyor
şuna eşit değilDeğer eşleşmiyor
şundan büyükDeğer belirtilen sayının üzerinde
şundan küçükDeğer belirtilen sayının altında
şundan büyük veya eşitDeğer belirtilen sayıya eşit veya üzerinde
şundan küçük veya eşitDeğer belirtilen sayıya eşit veya altında
şu aralıktaDeğer bir aralık içinde (dahil)
boşAlanın değeri yok
boş değilAlanın herhangi bir değeri var

Onay Kutuları ve görsel seçim

İşleçAçıklama
şunlardan herhangi birini işaretlediBelirtilen seçeneklerden en az biri işaretlenmiş
şunlardan hiçbirini işaretlemediBelirtilen seçeneklerin hiçbiri işaretlenmemiş
şunların tümünü işaretlediBelirtilen seçeneklerin tamamı işaretlenmiş
tam olarak şunu işaretlediİşaretlenen seçenekler belirtilen kümeyle tam eşleşiyor
boşHiçbir seçenek seçilmemiş
boş değilEn az bir seçenek seçilmiş
İşleçAçıklama
şuna eşitSeçilen seçenek tam eşleşiyor
şuna eşit değilSeçilen seçenek eşleşmiyor
boşHiçbir şey seçilmemiş
boş değilBir seçenek seçilmiş

Geçiş Anahtarı (ve boolean hesaplanan alanlar)

İşleçAçıklama
açıkGeçiş açık konumda
kapalıGeçiş kapalı konumda

İmza

İşleçAçıklama
imzalandıİmza çizilmiş
imzalanmadıİmza çizilmemiş

Dosya Yükleme

İşleçAçıklama
dosyası varEn az bir dosya yüklenmiş
dosyası yokHiçbir dosya yüklenmemiş

Tarih Seçici ve Saat Seçici

İşleçAçıklama
şuna eşitTam eşleşme
şuna eşit değilEşleşmiyor
şundan önceBelirtilen tarih/saatten önce
şundan sonraBelirtilen tarih/saatten sonra
şu aralıktaBir tarih/saat aralığında
boşDeğer seçilmemiş
boş değilBir değer var

Sıralama

İşleçAçıklama
seçenek ilk sıradaBelirtilen seçenek birinci sırada
seçenek son sıradaBelirtilen seçenek son sırada
seçenek şunun üstünde sıralanmışBelirtilen seçenek başka bir seçeneğin üzerinde sıralanmış

Matris / Izgara

İşleçAçıklama
satır yanıtı şudurBelirli bir satır belirtilen yanıta sahip
satır yanıtı şu değildirBelirli bir satır belirtilen yanıta sahip değil
satır yanıtlandıBelirli bir satır yanıtlanmış
satır yanıtlanmadıBelirli bir satır yanıtlanmamış

Ödeme

İşleçAçıklama
tutar şuna eşitÖdeme tutarı tam eşleşiyor
tutar şundan büyükÖdeme tutarı belirtilen değerin üzerinde
tutar şundan küçükÖdeme tutarı belirtilen değerin altında
tamamlandıÖdeme başarıyla işlendi
tamamlanmadıÖdeme henüz işlenmedi

İzleyemeyeceğin alanlar

Randevu planlama ve Belgeler görünürlük hedefi olabilir ama asla koşul kaynağı olamaz. Bir rezervasyon, sıradan bir yanıt olarak değil gönderime bağlı olarak saklanır ve bir Belgeler bloğu hiçbir yanıt toplamaz. İkisini de göstermek veya gizlemek için daha önceki yeterlilik yanıtlarını kullan. Görünür her Randevu planlama sorusu gönderimden önce rezerve edilmelidir; gizli biri bunu engellemez. Bkz. Mantıkla Cal.com randevu planlama.

Hedefleme

Her eylemin bir hedefi olması gerekir — eylemin üzerinde çalıştığı şey. Hedef, eylem türüne göre değişir:

Eylem türüHedefÖrnek
Göster / GizleHerhangi bir blok — bir soru, paragraf, görsel, düzen kapsayıcısı veya bir seçim alanı içindeki belirli bir seçenekBir seçenek seçildiğinde "İyi seçim!" paragrafını göster
Zorunlu yap / İsteğe bağlı yapBir soruYalnızca yüz yüze katılımcılar için "Diyet kısıtlamaları"nı zorunlu kıl
Sonraki sayfayı ayarlaBir sayfaTekrar eden müşteriler için sayfa 5’e atla
Değeri hesaplaHesaplanan bir alanÜç Yıldız Değerlendirme puanını bir toplamda birleştir
Ödeme tutarını ayarlaBir Ödeme alanı"Hızlı teslimat" açıkken fiyatı 15 artır
Sonraki sayfaya geçişi engelle / Form gönderimini engelleHedef gerekmez (yalnızca mesaj)Şartlar geçişi açılana kadar gönderimi engelle

Göster ve Gizle soruların ötesine geçer. Varsayılan olarak gizlenmiş bir notu görünür kılmak ya da artık ilgili olmayan içeriği gizlemek için tuvaldeki herhangi bir bloğu — bir paragraf, başlık, görsel veya düzen kapsayıcısını — hedef al. Ayrıca yalnızca tüm soruyu değil, seçim alanı içindeki bireysel seçenekleri de hedef alabilirler. Önce bloğu blok menüsünden Gizle ile gizle, ardından onu görünür kılmak için bir kural yaz.

Birden fazla kural nasıl birleşir

Her kural bağımsızdır ve hepsi birlikte değerlendirilir. Kurallar, mantık blokları boyunca yukarıdan aşağıya, belge sırasına göre okunur. Bir hedefteki birden fazla kuralın nasıl birleşeceği eyleme bağlıdır.

EylemBirden fazla kural nasıl birleşir
Göster / Gizle, Zorunlu yap / İsteğe bağlı yapYalnızca koşulları eşleşen bir kural hedefi talep eder, bu yüzden kurallar bir veya olarak üst üste eklenir: eşleşen herhangi bir kural bloğu gösteriyorsa blok gösterilir. Eşleşmeyen bir kural tersini uygular ama hiçbir şey talep etmez, bu yüzden sonraki eşleşen bir kural yine de kazanır.
Sonraki sayfayı ayarlaBir atlama, yanıtlayan kuralın okuduğu soruların bulunduğu sayfada İleri'ye bastığında etkili olur, başka hiçbir sayfada değil. Orada etkili olan kurallar arasından eşleşen ilk kural kazanır. Yalnızca gizli veya hesaplanan alanları okuyan bir kural her sayfada etkili olur, ama yalnızca ileri atlar.
Değeri hesaplaEşleşen her kural, sırayla, çalışan değer üzerinde çalışır. Hiçbir şey hiçbir şeyi talep etmez.
Ödeme tutarını ayarlaYalnızca koşulları eşleşen bir "şuna ayarla" kuralı fiyatı talep eder, bu yüzden eşleşen ilk kural ona sahip olur ve birden çok "şuna ayarla" kuralı her kademeye ayrı fiyat verebilir. "şu kadar artır" ve "şu kadar azalt" asla talep etmez — çalışan tutar üzerinde sırayla üst üste eklenirler.
Hiçbir kural eşleşmezBlok varsayılanına döner — varsayılan olarak gizliyse gizli, aksi hâlde görünür kalır.

Bu sayede birden fazla kuralı aynı bloğa, çakışma olmadan yönlendirebilirsin. Bir geri bildirim formu, “Size nasıl yardımcı olabiliriz?” adlı dört seçenekli bir Radyo Düğmeleri sorusu içeriyor ve varsayılan olarak gizlenmiş bir “Sizi arayabilir miyiz?” e-posta alanı var. Dört kuralın her biri kendi seçeneği için aynı e-posta alanını (ve o seçeneğe özgü takip sorusunu) Göster yapıyor. E-posta alanı hangi seçenek seçilirse seçilsin görünür; yalnızca hiçbiri seçilmediğinde gizli kalır.

Çoğunlukla tek bir kural yeterlidir

Bir bloğu birkaç yanıt için göstermek için, Herhangi Biri ile her yanıt için bir koşul içeren tek bir kural — ya da hepsini kapsayan tek bir boş değil koşulu — dört kuraldan daha kolay okunur. Her seçeneğin kendine özgü bir takip sorusu da gerektirdiği durumlarda birden fazla kurala başvur.

Çakışan kurallar

İki kural aynı hedef üzerinde anlaşmazlığa düştüğünde — biri bir bloğu Göster yaparken diğeri Gizle ederse ya da biri bir alanı zorunlu kılarken diğeri isteğe bağlı yaparsa — ve her iki koşul da aynı anda eşleşirse, ilk kural kazanır. Geç kalan, kaybeden kural editörde şöyle işaretlenir: “Bu eylem hiçbir zaman uygulanmaz — hedefini daha önceki bir kural zaten kontrol ediyor. Kural sırası belirleyicidir: ilk kural kazanır.”

Sıralamanın bir istisnası var: koşulu bir hesaplanan alanı okuyan bir kural, belge sırası ne olursa olsun, onu yazan kuraldan sonra çalışır, böylece bir puan her zaman ona dayanan herhangi bir dallanmadan önce hesaplanır. Birbirinin hesaplanan alanlarını döngü içinde yazan kurallar, zinciri adlandıran bir yayınlama uyarısı yükseltir — değerlerin öngörülebilir şekilde hesaplanması için döngüyü kır.

Gizli olan, zorunlunun önüne geçer

Sonunda gizli kalan bir soru asla zorunlu değildir — ister bir kuralla gizlenmiş olsun, ister onu görünür kılacak hiçbir kural olmadan blok menüsünden gizlenmiş olsun. Yıldız işareti kaybolur ve gönderim engellenmez — aksi hâlde bir yanıtlayan, göremediği bir alan yüzünden formdan kilitlenebilirdi.

Yaygın kalıplar

Önceki yanıta göre takip sorusu gösterme

Bir memnuniyet anketi “Deneyiminizi nasıl değerlendirirsiniz?” sorusunu 1-5 Yıldız Değerlendirme ile soruyor. Altındaki mantık bloğu “rating şundan küçük veya eşit 3” koşulunu kullanarak “Neyi iyileştirebiliriz?” soran bir Metin Alanı alanını Göster eylemiyle hedef alıyor. 4 veya 5 puan veren yanıtlayanlar takip sorusunu hiç görmüyor.

Bir seçenek seçildiğinde mesaj gösterme

Bir kayıt formunda şu Radyo Düğmeleri sorusu var: “Hangi plan sana en uygun?” Altında bir paragraf bulunuyor — “İyi seçim! Pro planımız öncelikli desteği içerir.” — blok menüsündeki Gizle ile varsayılan olarak gizlenmiş. Bir mantık bloğu onu görünür kılıyor: plan şuna eşit “Pro” ise paragrafı Göster. Bu teşvik edici not yalnızca Pro seçenler için görünür, diğer herkes için gizli kalır.

Seçime göre farklı sayfalara dallanma

Bir etkinlik kayıt formu şu Radyo Düğmeleri sorusuna sahip: “Yüz yüze mi yoksa uzaktan mı katılıyorsunuz?” Ardından iki mantık bloğu geliyor:

  • Kural 1 — koşul: katılım şuna eşit “Yüz yüze”, eylem: Sonraki sayfayı ayarla “Mekan detayları”.

  • Kural 2 — koşul: katılım şuna eşit “Uzaktan”, eylem: Sonraki sayfayı ayarla “Yayın kurulumu”.

  • Kural 3 — koşul: varış saati boş değil, eylem: Sonraki sayfayı ayarla “Onay”. Varış saati, “Mekan detayları” sayfasındaki zorunlu bir sorudur.

Kural 1 ve 2 katılım sorusunu okur, bu yüzden yanıtlayan o sayfadan ayrıldığında etkili olurlar. Bundan sonra İleri, sayfa sırasında ilerler. Kural 3, “Mekan detayları” sayfasındaki bir soruyu okur, bu yüzden yanıtlayan o sayfadan ayrıldığında etkili olur. Yüz yüze katılanlar böylece “Yayın kurulumu”nu atlar. Her yol yalnızca ilgili bilgileri toplar, ardından her ikisi de ortak bir “Onay” sayfasında birleşir.

Puan hesaplama ve buna göre dallanma

Bir potansiyel müşteri değerlendirme formu üç Yıldız Değerlendirme sorusuna sahip: bütçe, zaman çizelgesi ve yetki. “Müşteri puanı” adlı hesaplanan alan, Değeri hesapla eylemiyle her derecelendirmenin değerini toplayan bir mantık bloğu kullanıyor. İkinci bir mantık bloğu hesaplanan alanı okuyor: Müşteri puanı şundan büyük 12 ise Sonraki sayfayı ayarla “Öncelikli takip”; aksi hâlde standart onay sayfasına atla.

Gizli alan değerine tepki verme

URL, plan adlı gizli bir alanı dolduruyor (örn. ?plan=enterprise). Bir mantık bloğu şunu kontrol ediyor: plan şuna eşit “enterprise” ise “Özel hesap yöneticisi” sorusunu Göster ve “Şirket büyüklüğü” alanını Zorunlu yap. Ücretsiz katman yanıtlayanları bu soruları hiç görmüyor.

Hesaplanan toplama göre gönderimi kısıtlama

Bir sipariş formu anlık toplam hesaplıyor. Mantık bloğu şu koşulu kullanıyor: Sipariş toplamı şundan küçük 10 ise Form gönderimini engelle. Minimum sipariş eşiği karşılanana kadar yanıtlayan gönderemiyor.

Bir engelleme kuralı etkinken düğme kullanılamaz görünür ve yanıtlayana nedeni söylenir. Hangi yanıtı değiştireceklerini bilmeleri için nedeni eylem satırındaki Katılımcıya gösterilen mesaj alanına yaz — örneğin “Siparişiniz en az 10 olmalıdır”. Boş bırakırsan form “Bu form, mevcut yanıtlarla gönderilemez.” mesajına döner (bir gezinme bloğu için “Mevcut yanıtlarla bir sonraki sayfaya devam edemezsiniz.”). Birden fazla engelleme kuralı aynı anda tetiklendiğinde, mesaj taşıyan ilk kural metni sağlar.

Mantığı Önizleme ile test et

Kurallarını ayarladıktan sonra üst araç çubuğundaki Önizle moduna geç ve formu bir yanıtlayan gibi doldur. Mantık, Önizleme’de gerçek zamanlı çalışır; böylece yayınlamadan önce her dalı, gizli alanı ve doğrulama kapısını doğrulayabilirsin.

Sonraki adımlar