Bean Validation 2.0 Giriş

0 2,186

Merhaba arkadaşlar. Bu makalede Bean Validation 2.0 ile beraber gelen standart anotasyonları ve bu anotasyonlar ile bir sınıf örneğinin validasyonunun nasıl olacağını incelemeye çalışacağız.

Bean Validation 2.0, JSR 380 ( https://jcp.org/en/jsr/detail?id=380 ) kapsamında geliştirilen bir spesifikasyondur. Bu spesifikasyonun referans implementasyonu ise Hibernate Validator’ dur.

Öncelikle Bean Validation ile gelen standart anotasyonlar ve kısa açıklamalarına bir bakalım ve ardından basit bir örnek yapalım.

Şimdi bir örnek üzerinden incelemeye başlayalım. Article isimli bir nesnemiz olsun. Sınıfımızın alanları aşağıdaki gibidir.

Bu nesnemiz için geliştirme dökümanında aşağıdaki gibi kısıtların istendiğini düşünelim.

  • author alanı boş olamaz
  • subject alanı boş olamaz ve A,B ve C tiplerinden biri olmaldır.
  • category listesi boş olamaz ve içerisine eklenecek olan elemanlar da null olamaz
  • title alanı boş olamaz ve en fazla 30 karakter olabilir
  • lastSaveDate alanı geçmişte olamaz
  • publish alanı true olmalı.
  • text alanı en az 300 en çok 5000 karakter olmalı

Sırası ile alanlarımızı ilgili anotasyonlar ile etiketleyelim.

Artık sınıfımızdan bir örnek oluşturup validasyon işlemini yapabiliriz. Bunun için bir Starter sınıfı yapacağız.

Console basılan sonuç;

Validasyon işlemini oldukça basit şekilde yapmış olduk. Ne harici bir validasyon sınıfına, ne metotlarına ne de if else bloğuna ihtiyaç duymadan istenilen kısıtları uygulamamıza ekledik. Umarım faydalı olmuştur. Gayret bizden tevfik Allah’tan.

Kaynak Kod : https://github.com/volkanozdemir/validation-api-basic.git

Kaynak: https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/?v=6.0#validator-gettingstarted

 

 

Email adresiniz yayınlanmayacaktır.