Java'da Veri Temizleme
Dennis Lee
Software Engineer
| Satış Temsilcisi | Ülke | Ürün | Tarih | Tutar | Gönderilen Kutu |
|---|---|---|---|---|---|
| James Rudeforth | UK | Mint Chip Choco | 4-Oca-22 | $5320 | 100 |
| Van Tuxwell | Hindistan | %85 Bitter Bar | 1-Ağu-22 | $7896 | 94 |
| Gigi Bohling | ABD | Fıstık Ezmeli Küpler | 7-Tem-22 | $4501 | 91 |
import jakarta.validation.constraints.NotNull; // Boş alan kurallarını içe aktar import jakarta.validation.constraints.Size; // Dize uzunluğu kurallarını içe aktar public class ChocolateSale { @NotNull(message = "Salesperson cannot be empty") private String salesperson;@NotNull(message = "Country cannot be empty") // Birden çok kural yığılabilir @Size(min = 2, max = 50) // Ülke adı uzunluğunu zorunlu kılar private String country;@NotNull(message = "Product cannot be empty") private String product; }
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
// İleti çıktıları sonra gösterilecek public class ChocolateSale { @Min(value = 0, message = "Sales amount must be positive") private Double amount;@Min(value = 1, message = "Must ship at least 1 box") @Max(value = 1000, message = "Cannot ship more than 1000 boxes") private Integer boxesShipped; }
// Benzersiz doğrulama hatalarını depolar (tekrar yok)
import java.util.Set;
// Tek bir doğrulama hatasının ayrıntılarını tutar (alan, ileti, vb.)
import jakarta.validation.ConstraintViolation;
// Doğrulayıcı oluşturma giriş noktası
import jakarta.validation.Validation;
// Veriyi kurallara karşı kontrol eder
import jakarta.validation.Validator;
// Yapılandırılmış doğrulayıcılar oluşturur
import jakarta.validation.ValidatorFactory;
// Doğrulama başarısız olduğunda fırlatılır
import jakarta.validation.ConstraintViolationException;
class SalesValidator { // Verimizi kontrol edecek araçları oluştur private static final ValidatorFactory factory = Validation.buildDefaultValidatorFactory();// Satış kayıtlarını kontrol edecek bir doğrulayıcı al private static final Validator validator = factory.getValidator();public static Set<ConstraintViolation<ChocolateSale>> validateSale(ChocolateSale sale) { // Satış kaydını kontrol et ve bulunan sorunları döndür return validator.validate(sale); } }
public class Main { public static void main(String[] args) { // Bazı geçersiz verilerle satış oluştur (ülke null, tutar negatif) ChocolateSale sale = new ChocolateSale("James Rudeforth", null, "Mint Chip Choco", LocalDate.parse("2022-01-04"), -5320.0, 1500);// Doğrulama ihlallerini kontrol et Set<ConstraintViolation<ChocolateSale>> violations = SalesValidator.validateSale(sale); // Her doğrulama hata iletisini yazdır violations.forEach(violation -> System.out.println(violation.getMessage()));// Herhangi bir ihlal bulunursa istisna fırlat if (!violations.isEmpty()) throw new ConstraintViolationException(violations); } }
Ülke boş olamaz Satış tutarı pozitif olmalıdır 1000 kutudan fazla gönderilemezException in thread "main" jakarta.validation.ConstraintViolationException
@NotNull, @Size, @Min ve @Max hataları erken yakalar
Java'da Veri Temizleme