Ana içeriğe geç

Doğrulama Kuralı

Emakin'deki doğrulama kuralı, widget girdilerini önceden tanımlanmış koşullara göre doğrulayarak verilerin doğruluğunu ve bütünlüğünü sağlar. Bir değer doğrulamadan geçmediğinde sistem kullanıcıya uygun geri bildirimi sunarak veri girişinin tutarlı ve doğru olmasına yardımcı olur.

Doğrulama Grubu Adı

Doğrulama kuralları grup tanımlayıcılarınagöre çalıştırılır; bu tanımlayıcılar doğrulama koşullarını belirli kullanıcı eylemleriyle ilişkilendirir.

Bir grup adı tanımlayıcısı doğrulama kuralının çalışacağı bağlamı belirtir. Örnek: Grup adı olarak save atamak, kullanıcı Kaydet düğmesine tıkladığında doğrulama kuralını tetikler.

Varsayılan Çalıştırma

  • Grup adı tanımlanmazsa doğrulama kuralı tüm gruplariçin tetikleyici eylemden bağımsız olarak çalışır.

Birden Çok Grup Adı

Birden çok grup adı ayırıcı olarak noktalı virgül (;) kullanılarak belirtilebilir. Örnek: save;submit tanımlandığında doğrulama kuralı, Kaydet veya Gönder düğmesine tıklandığında çalışır.

Doğrulama Kurallarını Tanımlamaya Yönelik En İyi Uygulamalar

  • İlgili kullanıcı eylemini yansıtan anlamlı grup adları kullanın (ör. submit, approve, finalize).
  • İstenmeyen veri gönderimini önlemek için kuralların gerekli tüm eylemleri kapsadığından emin olun.
  • Aynı doğrulama mantığı birden çok eylem için geçerli olmadığı sürece çakışan grup adlarından kaçının.
  • Sorumlulukların ayrımını korumak için doğrulama kurallarında veri modelini güncellemekten kaçının.

Açık grup tanımlayıcılarıyla doğrulama kuralları uygulandığında Emakin formları sağlam veri doğrulaması sunar ve yalnızca doğru, uygun biçimde biçimlendirilmiş verilerin gönderilmesini sağlar.

Hata Mesajı

Doğrulama kuralı koşulu karşılandığında Emakin kullanıcıya bir hata mesajı gösterir. Doğrulamanın neden başarısız olduğuna ilişkin belirli geri bildirimler sunmak için bu mesaj özelleştirilebilir.

Kural Koşulu

Doğrulama kuralı koşulları, boolean değer döndüren JavaScript işlevleriyle tanımlanır. Bu işlevler, veri modelinde değişiklik olduğunda tetiklenerek widget'ı buna göre günceller.

Koşul komut dizileri, asenkron işlemler için async/await kalıbını destekler. Bu sayede doğrulama mantığına harici API çağrıları veya uzun süren görevler dahil edilebilir.

Kullanılabilir Komut Dizisi Değişkenleri

  • $Xml Widget'a bağlı XML veri modeli öğesini temsil eder.
  • $ActiveUser Geçerli kullanıcının kimlik bilgilerini içerir.
  • $Disabled Formun devre dışı durumunu belirtir.
  • $Process Şu anda çalışan sürecin kimliği.
  • $StaticUrl Statik dosyalara erişim URL'si.

JSON Nesnesinin $ActiveUser Yapısı:

1
2
3
4
5
6
7
{
    "name": "<user_display_name>",
    "type": "User",
    "domain": "<domain_id>",
    "id": "<user_id>",
    "email": "<user_email>"
}

Warning

Bu $Disabled değişkeni, tek tek widget'ların değil formun devre dışı durumunu belirtir.

Örnek

Aşağıdaki örnek, sayısal bir alanın en az 10 öğe içermesini sağlayan bir doğrulama kuralını gösterir:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<NumericBox XPath="amount">
    <Rules>
        <ValidationRule Group="save;submit">
            <Condition>
                <Content><![CDATA[return $Xml.EvaluateNumber() < 10;]]></Content>
                <Definitions/>
            </Condition>
            <Label>
                <Content>Please enter at least 10 items</Content>
            </Label>
        </ValidationRule>
    </Rules>
</NumericBox>

Düzenli İfadeyle Doğrulama

Doğrulama için düzenli ifadeler kullanmak üzere JavaScript'teki RegExp nesnesini kullanabilirsiniz. Aşağıdaki örnek, bir metin kutusunun geçerli bir e-posta adresi içermesini sağlayan doğrulama kuralını gösterir:

1
return (!$Xml.Evaluate('.').match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi))