Yapılar, Go programlama dilinde sağlanan birincil ve popüler olarak kullanılan veri türlerinden biridir. Veritabanı paketlerinden ORM'lere ve bazı web çerçevelerine kadar çeşitli işlevselliklerdeki birçok paket, kolay veri ayrıştırma ve diğer işlemler için yapılar kullanır.
Yapı doğrulama, Go'da yaygın olarak kullanılan bir görevdir ve Go doğrulama paketi, projelerinizdeki yapıları doğrulamak için basit ve etkili bir yol sağlar.
Go Validator Paketi Nedir?
bu Doğrulayıcıya git paket, yapı bildiriminde belirtilen etiketlere dayalı olarak yapı ve bireysel alanlar için değer doğrulamaları uygular.
Go doğrulayıcı paketi, seviyelere izin veren etiketler, dilim, dizi ve harita dalışı kullanarak alanlar arası ve yapılar arası doğrulama için özellikler sağlar. çok boyutlu alan doğrulaması, özel alan doğrulaması, özel tanımlı alan adlarının çıkarılması, özelleştirilebilir hata mesajları ve popüler
cin çerçevesi paket için varsayılan doğrulayıcı olarak.yüklemek için çalışma dizininizin terminalinde bu komutlardan birini çalıştırın. doğrulayıcı paket.
Gitmek gopkg.in/'i edinin/Gitmek-playground/validator.v9
Gitmek github.com/'u edininGitmek-oyun alanı/doğrulayıcı/v10
Sürümler, URL'nin son ekidir. İlk komut, paketin 9. sürümünü yükler ve ikincisi, paketin 10. sürümünü yükler.
Paketi kurduktan sonra kurduğunuz versiyona göre paketi projelerinize import edebilirsiniz.
içe aktarmak (
"gopkg.in/go-playground/validator.v9"
)
Artık Go doğrulayıcı paketini kullanmaya devam edebilirsiniz. Yüklemenizle ilgili herhangi bir sorun varsa, en son Go sürümünü yeniden yüklemeyi/yükseltmeyi deneyin.
Validator Paketi ile Yapıları Doğrulama
örneğini oluşturmanız gerekir. doğrulayıcı Doğrula struct, alanlar için doğrulama kurallarını belirtmek üzere doğrulama etiketlerini kullanarak doğrulamak istediğiniz yapıyı tanımlayın.
Bir örneğini şu şekilde oluşturabilirsiniz: doğrulayıcı Doğrula yapı
işlevana() {
doğrula := doğrulayıcı. Yeni()
}
Alanlar için etiketler belirleyerek doğrulamak istediğiniz bir yapı tanımlayabilir, böylece doğrulama kuralları belirleyebilirsiniz. Doğrulama etiketleri, kuralları belirten yapı alanı tanımlarının özel ek açıklamalarıdır.
İşte doğrulama için düzenli bir yapı.
tip kullanıcı yapı {
İsim sicim
Yaş int
E-posta sicim
}
İşte doğrulama için hazır bir yapı örneği.
tip kullanıcı yapı {
İsim sicim`doğrula:"gerekli"`
Yaş int`doğrula:"gte=0,lte=130"`
E-posta sicim`doğrula:"gerekli, e-posta"`
}
Bu örnekte, İsim örneklemede gerektiği gibi alan, Yaş alan 0'dan büyük veya 0'a eşit ve 130'dan küçük veya ona eşit olmalıdır ve E-posta alan zorunludur ve başlatma sırasında geçerli bir e-posta adresi olmalıdır.
Go doğrulayıcı paketinde gerekli alanlar için etiketler, minimum ve maksimum değerler ve düzenli ifadeler. Mevcut doğrulama etiketlerinin tam listesini Go doğrulama paketinin belgelerinde bulabilirsiniz.
Doğrulamak istediğiniz yapıyı tanımladıktan ve her alan için doğrulama kurallarını belirledikten sonra, yapı yöntemi doğrulayıcı Doğrula yapıyı doğrulamak için struct.
kullanıcı := Kullanıcı{
// Ad somutlaştırılmadı
Yaş: 3990000,
E-posta: "[email protected]",
}
// Ad ve Yaş alanlarının doğrulamada başarısız olduğuna dikkat edin
hata := onayla. Yapı (kullanıcı)
eğer hata!= sıfır {
// Yapı geçersiz
}
bu yapı yöntemi, doğrulama hataları varsa bir hata döndürür ve işleminize bağlı olarak hatayı işleyebilirsiniz.
kullanarak bu hatalara erişebilirsiniz. Doğrulama Hataları hatanın yöntemi.
eğer hata!= sıfır {
için _, hata := menzil hata.(doğrulayıcı. Doğrulama Hataları) {
fmt. Yazdır (hata. Alan(), hata. Etiket())
}
}
bu Doğrulama Hataları method, doğrulama hatası olan her alanın adını ve hataya neden olan doğrulama etiketini döndürür.
Belirli doğrulama gereksinimleri yerleşik etiketlerin parçası değilse, özel doğrulama etiketleri de tanımlayabilirsiniz.
kullanabilirsiniz KayıtDoğrulama yöntemi doğrulayıcı Doğrula yapı bu KayıtDoğrulama yöntem iki bağımsız değişken alır; doğrulama etiketinin adı ve bir doğrulama işlevi. Doğrulama işlevi, özel doğrulama etiketine sahip her alan için çağrılan bir geri arama işlevidir ve işlevin geri dönmesi gerekir. doğru alan geçerliyse ve YANLIŞ Aksi takdirde.
Aşağıda, özel bir doğrulama etiketinin örnek bir tanımı verilmiştir. etiketi, çift sayılar için alanları doğrular.
onayla. Kayıt Doğrulama("eşit", işlev(fl doğrulayıcı. Alan Düzeyi)bool {
// Alan değerini int olarak almaya çalışın
değer, tamam := fl. Alan().Arayüz().(int)
eğer !Tamam {
// Alan değeri bir int değilse, false döndür
geri dönmekYANLIŞ
}
// Değer çift ise true, değilse false döndürün
geri dönmek değer % 2 == 0
})
Kod, özel bir doğrulama etiketi tanımlar eşit kullanmak KayıtDoğrulama yöntemi doğrulayıcı Doğrula yapı Doğrulama etiketini, türünde tek bir bağımsız değişken alan bir işlev kullanarak tanımladınız. doğrulayıcı Alan Düzeyi.
Artık özel doğrulama etiketini, yerleşik doğrulama etiketlerinde kullandığınız şekilde yapı tanımlarında kullanabilirsiniz.
tip Yapım yapı {
Değer int`doğrula:"çift"`
}
Gidilecek Daha Çok Şey Var
Yapılar, Go'da birinci sınıf vatandaşlardır ve yapılarla yapabileceğiniz çok şey vardır. Tamamen nesne yönelimli dillere aşina iseniz, sınıflarda yaptığınız gibi veriler üzerinde işlem yapmak için Go yapılarını kullanabilirsiniz.