Spring’de Number Validation

sametklou

Spring’de Number Validation

Spring, Java tabanlı bir web uygulama geliştirme framework'üdür ve güçlü bir veri doğrulama mekanizması sunar. Bu yazıda Spring framework'ünde sayı doğrulaması nasıl yapıldığını detaylı bir şekilde ele alacağız.

Number Validator Kullanımı

Spring framework'ü içinde bulunan @NumberFormat ve @Digits annotation'ları sayesinde sayı doğrulaması kolayca yapılabilir. Öncelikle, doğrulama işlemini gerçekleştirmek istediğimiz alanı belirleyerek ilgili annotation'ı kullanmalıyız.

Örnek olarak, bir kullanıcının yaşını temsil eden bir alanımız olduğunu ve bu alanın belirli bir aralıkta olması gerektiğini düşünelim. Bu durumda, aşağıdaki gibi bir model sınıfı oluşturabilir ve bu sınıf içinde yaş alanına doğrulama annotation'ını ekleyebiliriz.

public class User {
    
    @NumberFormat(style = Style.NUMBER)
    @Digits(integer=3, fraction=0)
    private Integer age;
    
    // getters and setters
}

Yukarıdaki örnekte, @NumberFormat annotation'ı ile yaş alanının sayı tipinde olduğunu belirtiyoruz. Ayrıca @Digits annotation'ı ile bu alanın en fazla 3 basamaklı bir tam sayı olması gerektiğini belirtiyoruz.

Controller'da Validasyonun Kullanımı

Şimdi, Spring MVC (Model-View-Controller) yapısında bu doğrulamayı kullanarak gelen verileri kontrol edelim. Bir Controller sınıfı içinde, @Valid annotation'ı ile gelen verilerin doğrulanmasını sağlayabiliriz.

Örnek olarak, aşağıdaki gibi bir Controller sınıfı oluşturabiliriz.

@Controller
public class UserController {
    
    @PostMapping("/user")
    public String addUser(@Valid User user, BindingResult result) {
        if(result.hasErrors()) {
            return "errorPage";
        } else {
            return "successPage";
        }
    }
}

Yukarıdaki örnekte, addUser metodu içinde @Valid annotation'ı ile gelen User objesinin doğrulanmasını sağlıyoruz. Eğer hata varsa BindingResult üzerinden hatayı kontrol edebilir ve işlemi buna göre yönlendirebiliriz.

Bu şekilde, Spring framework'ü içinde sayı doğrulaması yapabilir ve gelen verilerin istediğimiz formatta olup olmadığını kontrol edebiliriz. Daha fazla bilgi ve detaylı örnekler için Spring Validation Dökümantasyonu adresini ziyaret edebilirsiniz.