Pessoa é o seguinte, estou tentando fazer uma Constraint de Ie, porem ela deve validar de acordo com o estado
vejo o codigo
A Constraint
@Constraint(validatedBy = IeValidacao.class)
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Ie {
String message() default "Cep inválido";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
String estado() default "Sp";
}
A classe de validação
public class IeValidacao implements ConstraintValidator<Ie, String> {
private String estado;
public void initialize(Ie constraintAnnotation) {
estado = constraintAnnotation.estado(); // não esta ENTTRANDO neste metodo
}
public boolean isValid(String value, ConstraintValidatorContext context) {
if (estado != null && estado == "Sp" && value == "123") {
return true;
}
if (estado != null && estado == "Mg" && value == "456") {
return true;
}
return false;
}
}
Classe Pessoa
public class Pessoa {
private String estado ;
@Ie(estado= estado ) // ERRO NESTA LINHA, axo que so permite constante, como faze então?
private String ie;
public String getIe() {
return ie;
}
public void setIe(String ie) {
this.ie = ie;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
}
Pessoa observe que comentei as linha que estou com dificuldade, mais seria mais ou menos isso. alguem poderia me ajudar
Deste ja agradeço