JSR-303 ile küçük bir özel doğrulama yapmak istiyorum javax.validation
.
Benim bir tarlanım var. Ve bu alana belirli bir değer girilirse, diğer birkaç alanın olmamasını zorunlu kılmak istiyorum null
.
Bunu anlamaya çalışıyorum. Bir açıklama bulmaya yardımcı olması için buna tam olarak ne diyeceğimden emin değilim.
Herhangi bir yardım memnuniyetle karşılanacaktır. Bunda oldukça yeniyim
Şu anda bir Özel Kısıtlama düşünüyorum. Ancak bağımlı alanın değerini ek açıklamanın içinden nasıl test edeceğimi bilmiyorum. Temel olarak panel nesnesine açıklamadan nasıl erişeceğimi bilmiyorum.
public class StatusValidator implements ConstraintValidator<NotNull, String> {
@Override
public void initialize(NotNull constraintAnnotation) {}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if ("Canceled".equals(panel.status.getValue())) {
if (value != null) {
return true;
}
} else {
return false;
}
}
}
O oluyor panel.status.getValue();
Bunu gerçekleştirmek için emin nasıl .. bana sorun çıkarıyor.
Object
). Bu durumda, değerleri almak için yansıma kullanmanız bile gerekmez, ancak bu durumda doğrulayıcı daha az genel hale gelir 2)BeanWrapperImp
Spring Framework'ten (veya diğer kitaplıklardan) ve onungetPropertyValue()
yönteminden kullanın. Bu durumda, bir değer elde edebilecekObject
ve ihtiyacınız olan herhangi bir türe çevirebileceksiniz.