Spring-Bootuygulamalarındamodellerimizioluştururkenvalidasyonyapabileceğimizkullanışlıbirkaçkütüphanemevcut buyazıdabunlardan birinden vekullanabileceğimizAnnotation'lardanbazılarıeddansöz Java Bean'lerinindoğrulanmasında标准框架olarakkullanılanJSR 380'denfaydalanacağız。 Kullanıcıdanalacağımızinput'lara validasyon uygulamakoldukçatemel birişlem。 Bu inputlaradoğrulamayapmak bizebüyükkolaylıksağlayacaktır。
JSR 380
JSR 380 Bean Validasyonu已启用Java API。 Java版本8版本。可选的LocalDate'i de destekleyen注释。 JSR 380hakkındadaha fazla bilgi almakiçinbu adresegözatabilirsiniz。
Dependency
Buözelliklerikullanmak依赖'lerinizeaşağıdaki依赖'yi eklemeniz yeterliolacaktır。
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.0.Final</version>
</dependency>
Gelelim Kullanımına
@NotNull
@NotEmpty
private String username;
@NotNull:Bu注解'u alan property'nin空值 olmamasını sağlar, property 空值 olarak set edilmeye çalışıldığında buna engel olacaktır.
@不是空的:Özelliğin博斯(空)维雅空值 olmadığını doğrular; String, Collection, Map维雅Array'lere uygulanabilir.
@NotBlank
private String name;
@NotBlank:Yalnızca文本阿兰拉拉维吾尔族空值olmasınıve空格olmasınıengeller。
@AssertTrue
private boolean itsTrue;
@AssertFalse
private boolean itsFalse;
@AssertTrue:Bu注解'a sahip olanözelliğin真正değereolduğunudoğrular。
@AssertFalse:Bu注解'a sahip olanözelliğin假değereolduğunudoğrular。
@Email
private String email;
@电子邮件:Bu注解'a sahip olanözelliğingeçerlibir电子邮递格式sahipolduğunudoğrular。
@Min(18)
@Max(99)
private int age;
@Min - @max : Bu annotationlar property'nin minimum değerden küçük, maksimum değerden büyük olmamasını sağlar.
@Positive
private int positive;
@PositiveOrZero
private int positiveOrZero;
@Negative
private int negative;
@NegativeOrZero
private double negativeOrZero;
@正:努美里克değerlereuygulanabilirdeğerinPozitifolmasınızorunlukılar。
@PositiveOrZero:努美里克değerlereuygulanabilirdeğerinPozitif雅达sıfırolmasınızorunlukılar。
@负:努美里克değerlereuygulanabilirdeğerin尼加提夫olmasınızorunlukılar。
@NegativeOrZero:努美里克değerlereuygulanabilirdeğerin消极的人olmasınızorunlukılar。
@Past
private LocalDateTime pastDate;
@PastOrPresent
private LocalDateTime pastOrPresentDate;
@Future
private LocalDateTime futureDate;
@FutureOrPresent
private LocalDateTime futureOrPresentDate;
@过去:塔里(Tarihalanlarına)维吾尔族人吉萨米·比尔·塔里olmasınızorunlukılar。Java 8'de gelen Tarih tiplerinede uygulanabilir。
@PastOrPresent:塔里(Tarihalanlarına)维吾尔族人geçmişbir tarih ya daşimdiolmasınızorunlukılar。Java 8'de gelen Tarih tiplerinede uygulanabilir。
@未来:塔里(Tarihalanlarına)维吾尔族人Gelecek bir Tariholmasınızorunlukılar。Java 8'de gelen Tarih tiplerinede uygulanabilir。
@FutureOrPresent:塔里(Tarihalanlarına)维吾尔族人Gelecek bir tarih ya daşimdiolmasınızorunlukılar。Java 8'de gelen Tarih tiplerinede uygulanabilir。
Annotation'lar Collection elemanlarına da uygulanabilir
List<@NotBlank String> preferences;
Annotation'lar için mesaj belirleme
@Email(message = "Email alanı email formatına uymalıdır")
private String email;
Annotation'uniçine消息集edilerekgösterilecekmesaj belirlenebilir。
Ekler
Örnek olarak yazdığım Spring-Boot uygulamasının kodlarını GitHub sayfamda bulabilirsiniz. Bu post orijinalde blogumda yayınlanmıştır.