Package org.apache.struts2.validator.annotations

# Annotation Interface Validations

@Target({METHOD,TYPE}) @Retention(RUNTIME) public @interface Validations

If you want to use several annotations of the same type, these annotations must be nested within the @Validations() annotation.

Annotation usage:

Used at METHOD level.

Annotation parameters:

Parameter | Required | Notes
--- | --- | ---
requiredFields | no | Add list of RequiredFieldValidators
customValidators | no | Add list of CustomValidators
conversionErrorFields | no | Add list of ConversionErrorFieldValidators
dateRangeFields | no | Add list of DateRangeFieldValidators
emails | no | Add list of EmailValidators
fieldExpressions | no | Add list of FieldExpressionValidators
intRangeFields | no | Add list of IntRangeFieldValidators
requiredStrings | no | Add list of RequiredStringValidators
stringLengthFields | no | Add list of StringLengthFieldValidators
urls | no | Add list of UrlValidators
visitorFields | no | Add list of VisitorFieldValidators
regexFields | no | Add list of RegexFieldValidator
expressions | no | Add list of ExpressionValidator

Example code:

     @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}.")},
               longRangeFields =
                       { @LongRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "intfield", min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")},
               shortRangeFields =
                       { @ShortRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "shortfield", min = "1", max = "128", 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:
  jepjep, Rainer Hermanns

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `ConditionalVisitorFieldValidator[]`
  `conditionalVisitorFields`
  `ConversionErrorFieldValidator[]`
  `conversionErrorFields`
  `CreditCardValidator[]`
  `creditCards`
  `CustomValidator[]`
  `customValidators`
  Custom Validation rules.
  `DateRangeFieldValidator[]`
  `dateRangeFields`
  `EmailValidator[]`
  `emails`
  `ExpressionValidator[]`
  `expressions`
  `FieldExpressionValidator[]`
  `fieldExpressions`
  `IntRangeFieldValidator[]`
  `intRangeFields`
  `LongRangeFieldValidator[]`
  `longRangeFields`
  `RegexFieldValidator[]`
  `regexFields`
  `RequiredFieldValidator[]`
  `requiredFields`
  `RequiredStringValidator[]`
  `requiredStrings`
  `StringLengthFieldValidator[]`
  `stringLengthFields`
  `UrlValidator[]`
  `urls`
  `VisitorFieldValidator[]`
  `visitorFields`

- ## Element Details

  - ### customValidators

    CustomValidator[] customValidators
    Custom Validation rules.
    Returns:
      custom validators
    Default:
      {}

  - ### conversionErrorFields

    ConversionErrorFieldValidator[] conversionErrorFields
    Default:
      {}

  - ### dateRangeFields

    DateRangeFieldValidator[] dateRangeFields
    Default:
      {}

  - ### emails

    EmailValidator[] emails
    Default:
      {}

  - ### creditCards

    CreditCardValidator[] creditCards
    Default:
      {}

  - ### fieldExpressions

    FieldExpressionValidator[] fieldExpressions
    Default:
      {}

  - ### intRangeFields

    IntRangeFieldValidator[] intRangeFields
    Default:
      {}

  - ### longRangeFields

    LongRangeFieldValidator[] longRangeFields
    Default:
      {}

  - ### requiredFields

    RequiredFieldValidator[] requiredFields
    Default:
      {}

  - ### requiredStrings

    RequiredStringValidator[] requiredStrings
    Default:
      {}

  - ### stringLengthFields

    StringLengthFieldValidator[] stringLengthFields
    Default:
      {}

  - ### urls

    UrlValidator[] urls
    Default:
      {}

  - ### conditionalVisitorFields

    ConditionalVisitorFieldValidator[] conditionalVisitorFields
    Default:
      {}

  - ### visitorFields

    VisitorFieldValidator[] visitorFields
    Default:
      {}

  - ### regexFields

    RegexFieldValidator[] regexFields
    Default:
      {}

  - ### expressions

    ExpressionValidator[] expressions
    Default:
      {}