Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-3088

Cannot Inject Validator using @Inject

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Can't Do
    • Icon: Major Major
    • None
    • 8.0.0.Final
    • CDI / Weld
    • None

      I have a very simple bean and I am trying to inject the Validator using the @Inject annotation. But I am ending up getting a null when I try to use the Validator. I have the beans.xml defined to bean-discovery-mode="all". Below is the code

      --------

      import javax.inject.Inject;
      import javax.validation.ConstraintViolation;
      import javax.validation.Validation;
      import javax.validation.Validator;
      import javax.validation.ValidatorFactory;
      import javax.validation.constraints.*;
      import java.util.Map;
      import java.util.Set;

      public class SimpleCommand {
      @Inject
      private Validator validator;

      @Email
      private String email;

      public SimpleCommand(){

      }

      public SimpleCommand(Map<String, String[]> params)

      { this.email = params.get("email")!=null ? params.get("email")[0] : null; }

      public void validate(){
      //USING VALIDATOR THAT IS INJECTED IS NULL HERE
      //USING THE BELOW METHOD WORKS
      ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
      Validator validator1 = factory.getValidator();
      Set<ConstraintViolation<SimpleCommand>> contstraintViolations = validator1.validate(this); //USING INJECTED VALIDATOR WILL THROW NULL POINTER EXCEPTION
      for (ConstraintViolation<SimpleCommand> violation : contstraintViolations)

      { System.out.println(violation.getMessage()); }

      }
      }

      --------

      Then, from a JAX-RS controller, I call this validator

      ------

      SimpleCommand cmd = new SimpleCommand(req.getParameterMap());
      cmd.validate();


              emartins@redhat.com Eduardo Martins
              satb_jira Sat B (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: