2016-04-03 3 views
0

Bir java yayı mvc uygulamasında çalışıyorum. Bir modelim var ve bir alanın üstünde iki doğrulama notu belirledim. Ben ikinci çizgiyi istemem,java - spring validtion - ilk doğrulama başarısız olduğunda bir alanda diğer onaylamaları reddetme

name => This field can not be blank 
name => Invalid national code 

Ama:

public class MyModel{ 

    @NotBlank(message = "This field can not be blank") 
    @NationalCode(message = "Invalid national code") 
    private String name; 

    .... 

} 

ben boş name sol ve form, hata doğrulama dizisi iki üyesi vardır gönderin: İşte bir kod örneği olduğunu. Aslında, bir alandaki ilk doğrulama başarısız olduğunda kullanmak istiyorum, bu alandaki diğer tüm doğrulama işlemi yürütülmeyi durdurur. Bunu nasıl yapabilirim?

cevap

0

Burada neleri kaçırdığınız, Bean Validation specification tarafından sunulan gruplama işlevselliğidir. Mantıksal grupları tanımlamanız gerekir, böylece verilen gruba ait bir ek açıklama ile oluşturulan herhangi bir hata mesajı görüntülenecektir. Daha fazla bilgi için bkz. section 4.4.2. Group sequence. Özetle

sadece @NotBlank mesajı alacak, böylece

@NotBlank(message = "This field can not be blank", groups = NotBlankGroup.class) 

örneğin NotBlankGroup kendinize ait bir işaretleyici arabirimini tanımlayabilir ve @NotBlank açıklama için bu arabirim sınıfı eklediğinizde name alan değer boş.

Ve

daha sonra kolayca hepsi bir grup olarak değerlendirilecektir böylece groups ile diğer ek açıklamalarına NotBlankGroup ekleyebilir @NationalCode veya diğer özel veya önceden tanımlanmış ek açıklamalar eklemek isterseniz.

İlgili konular