Spring MVC Form İşlemleri Form Validation @InitBinder Kullanımı

Spring MVC Dersleri‘ne devam ediyoruz.

Spring MVC ile arayüz işlemleri kullanarak form işlemlerinde doğabilecek hataları yönetme işleminin nasıl olduğunu inceleyeceğiz. Spring MVC ile yapacağımız projelerimizdeki entity beanlerimizdeki değişkenlerimize belirli kriter belirleyebiliriz.

Bir örnek ile açıklamaya çalışalım. Bir üye kayıt formu oluşturalım ve boş geçilemez olduğunu varsayarak valide etmeye çalışalım. Yazının sonunda bu projeyi Github sayfamdan indirebileceğiniz bağlantıyı bulabilirsiniz.

Projemiz bir maven projesi olacaktır. Bağımlılıklarımızı pom.xml imize ekleyelim.

Bağımlılıklarımızı ekledik.

Modelimizi oluşturalım. Bu modelimizde üye bilgilerini tutacağız.

Modelimizi oluşturduk.

Şimdi yazımızın konusu olan valide etme işine girelim. Bir hata olduğunda vereceğimiz mesajları tutacağımız messeges.properties dosyası oluşturağız. bu dosya resources klasörünün içinde olmalı.

Bu dosyanın içerisinde oluşturduğum format isteğinize göre değişebilir ama genellikle xxxx = bla bla şeklindedir. Beanlerimizden bu uyarılara xxx olarak erişeceğiz.

Şimdi User Validator isminde bir class oluşturalım ve hangi durumda hangi mesajın hangi değişkenimiz ile alakalı olduğunu belirtelim.

User Validator classımızı Validator classını implement ettik. Validator classı org.springframework.validation paketi içerisindedir. Springin Validator özelliğinden faydalanacağız.

Validate classının Override etmemiz gereken iki adet metodu bulunmakta. Bunlar supports ve validate dir. Supports metodunda gelen class User classımız mı kontrol ediyoruz. User’den gelen bilgileri kontrol edeceğimiz için gelen doğru class mı ona bakmaktayız. Diğer metodumuz ise gelen hatalarda hangi değişkenimize gelirse ilgili hatanın gösterilmesini sağlayan metottur.

Kullanımı ise şu şekilde;

Gelecek olan hata ayrımlarını da bu sayede yapabilmekteyiz.

Şimdi User Controller’imizi oluşturalım.

Bu dersimizde kadar gördüğümüz Controller’dan farklı olan initBinder metodu ve anotasyonudur. Bu metod ve antasyon sayesinde kendi yaptığımız hata validasyonlarını kullanmamızı sağlamaktadır. Formumuzdan Post edeceğimiz metodumuzda User classımızın Validate işlemine bu metod üzerinden olması için @Validated anotasyonu kullanılmaktadır.

JSP Sayfalarımızı oluşturalım.

Ve validate işlemi geçtikten sonra oluşacak sonuç sayfamızı oluşturalım.

Web Config classımızı oluşturalım.

Uygulamamızı ayağa kaldıracak Java classımızı oluşturalımç

Ve çalıştıralım. Sonuç olarak submit butonuna basalım.

Spring hatayı yakaladı ve bizim oluşturduğumuz hata mesajı gözüktü.


Projenin Kaynak Kodlarını Github Üzerinden Görünlüte / İndir 

Önceki Ders: Form İşlemleri ModelAttribute Kullanımı Spring MVC Dersleri Sonraki Ders:

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir