BVal
  1. BVal
  2. BVAL-66

Method validation parameter processing problems

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.1-incubating
    • Fix Version/s: 0.1-incubating
    • Component/s: None
    • Labels:
      None

      Description

      Although still experimental and although only a few tests exist for Method-level-validation, some people are already using it and are reporting problems or providing patches.
      For the old code-base (agimatec-validation, no further development going on) I got a patch that fixes some misbehavior in the MethodValidatorMetaBeanFactory.
      To provide a better way for the agimatec-validation users to migrate to apache-bval, I suggest to merge the changes into the current code base.

      see original post at: http://code.google.com/p/agimatec-validation/issues/detail?id=26

      1.
      when processAnnotation is called in MethodValidatorMetaBeanFactory
      is called the type of the class owning the method is used to process
      parameter constraints rather than the type of the parameter. This causes
      something like a @Min annotation on a parameter to generate an exception
      because no appriopriate validator class can be found for the class
      declaring the method.

      2.
      the @Valid annotation causes 'setCascaded' to be called on the
      MethodDescriptor but not on the ParameterDescriptor where it needs to be
      set. Because of this validation doesn't cascade to the parameter object.

      3.
      the @Valid is treated as being mutually exclusive from other
      constraint annotations on a parameter. It is common to use @Valid with
      @NotNull since @Valid doesn't make assumptions about the nullability of a
      value.

        Activity

          People

          • Assignee:
            Roman Stumm
            Reporter:
            Roman Stumm
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development