Kendi CtroEnv Doğrulayıcılarınızı Oluşturun

CtroEnv'deki yerleşik doğrulayıcılar temel işlevleri kapsar. String, number, boolean ve pick türlerine sahip olursunuz. Ancak bazen daha fazlasına ihtiyaç duyarsınız. Benim bir IPv6 doğrulayıcısına ihtiyacım vardı. Mevcut değildi. Bu yüzden kendim yaptım.

Benim kullandığım araçları kullanarak kendi doğrulayıcılarınızı oluşturabilirsiniz.

İşte çalışma mantığı.

Bir doğrulayıcı, bir parse fonksiyonu ve meta verilerden oluşan bir nesnedir. parse fonksiyonu ham girdiyi alır ve başarı veya başarısızlık sonucunu döndürür.

Başlamak için createValidator kullanabilirsiniz. Bu en basit yoldur.

Ancak, yalın bir doğrulayıcı yardımcı metodlardan yoksundur. .default() veya .optional() metodlarına sahip değildir. Bu metodları eklemek için applyChain kullanmalısınız.

Eğer string'ler için .min() gibi özel bir mantık eklemek isterseniz, doğrulayıcıyı genişletirsiniz. Bu, orijinal mantığı sarmalamanıza ve yeni kurallar eklemenize olanak tanır.

Özel mantık eklemenin iki ana yolu vardır:

Kullanabileceğiniz araçların bir özeti şöyledir:

createValidator: Özel mantığa sahip temel bir doğrulayıcı oluşturur. • applyChain: .optional(), .default() ve .describe() metodlarını ekler. • parseOk: Başarılı bir sonuç döndürür. • singleError: Başarısız bir sonuç döndürür. • errType ve errInvalid: Belirli hata mesajları oluşturur.

Kendi doğrulayıcılarınızı topluluk paketleri olarak bile yayınlayabilirsiniz. @ctroenv/community- önekini kullanın. Paketinizin tek bağımlılığı @ctroenv/core olması yeterlidir.

Faydalı bir şey geliştirirseniz lütfen paylaşın. Bir PR açabilir veya başkalarının kullanması için yayınlayabilirsiniz.

Kaynak: https://dev.to/ctrotech/building-your-own-ctroenv-validators-19h8