com.opensymphony.xwork2.validator.annotations

## Annotation Type Validation

- Deprecated.
  Since Struts 2.1 because it isn't necessary anymore

      @Deprecated
       @Target(value=TYPE)
       @Retention(value=RUNTIME)
      public @interface Validation

  This annotation has been deprecated since 2.1 as its previous purpose, to define classes that support annotation validations, is no longer necessary.

  Annotation usage:

  The Validation annotation must be applied at Type level.

  Annotation parameters:

  Parameter | Required | Default | Notes
  --- | --- | --- | ---
  validations | yes |  |

  Example code:

  An Annotated Interface

       @Validation()
       public interface AnnotationDataAware {

           void setBarObj(Bar b);

           Bar getBarObj();

           @RequiredFieldValidator(message = "You must enter a value for data.")
           @RequiredStringValidator(message = "You must enter a value for data.")
           void setData(String data);

           String getData();
       }

  Example code:

  An Annotated Class

       @Validation()
       public class SimpleAnnotationAction extends ActionSupport {

           @RequiredFieldValidator(type = ValidatorType.FIELD, message = "You must enter a value for bar.")
           @IntRangeFieldValidator(type = ValidatorType.FIELD, min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")
           public void setBar(int bar) {
               this.bar = bar;
           }

           public int getBar() {
               return bar;
           }

           @Validations(
                   requiredFields =
                           {@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "customfield", message = "You must enter a value for field.")},
                   requiredStrings =
                           {@RequiredStringValidator(type = ValidatorType.SIMPLE, fieldName = "stringisrequired", message = "You must enter a value for string.")},
                   emails =
                           { @EmailValidator(type = ValidatorType.SIMPLE, fieldName = "emailaddress", message = "You must enter a value for email.")},
                   urls =
                           { @UrlValidator(type = ValidatorType.SIMPLE, fieldName = "hreflocation", message = "You must enter a value for email.")},
                   stringLengthFields =
                           {@StringLengthFieldValidator(type = ValidatorType.SIMPLE, trim = true, minLength="10" , maxLength = "12", fieldName = "needstringlength", message = "You must enter a stringlength.")},
                   intRangeFields =
                           { @IntRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "intfield", min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")},
                   dateRangeFields =
                           {@DateRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "datefield", min = "-1", max = "99", message = "bar must be between ${min} and ${max}, current value is ${bar}.")},
                   expressions = {
                       @ExpressionValidator(expression = "foo > 1", message = "Foo must be greater than Bar 1. Foo = ${foo}, Bar = ${bar}."),
                       @ExpressionValidator(expression = "foo > 2", message = "Foo must be greater than Bar 2. Foo = ${foo}, Bar = ${bar}."),
                       @ExpressionValidator(expression = "foo > 3", message = "Foo must be greater than Bar 3. Foo = ${foo}, Bar = ${bar}."),
                       @ExpressionValidator(expression = "foo > 4", message = "Foo must be greater than Bar 4. Foo = ${foo}, Bar = ${bar}."),
                       @ExpressionValidator(expression = "foo > 5", message = "Foo must be greater than Bar 5. Foo = ${foo}, Bar = ${bar}.")
           }
           )
           public String execute() throws Exception {
               return SUCCESS;
           }
       }

  Author:
    Rainer Hermanns

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `Validations[]` | `validations` Deprecated. Used for class or interface validation rules.

- - ### Element Detail

    - #### validations

          public abstract Validations[] validations

      Deprecated.
      Used for class or interface validation rules.
      Returns:
        array of validations
      Default:
        {}

Copyright © 2000–2023 Apache Software Foundation. All rights reserved.