@Target(value={METHOD,TYPE}) @Retention(value=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;
   }
 
 | Modifier and Type | Optional Element and Description | 
|---|---|
| ConditionalVisitorFieldValidator[] | conditionalVisitorFields | 
| ConversionErrorFieldValidator[] | conversionErrorFields | 
| CreditCardValidator[] | creditCards | 
| CustomValidator[] | customValidatorsCustom 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 | 
public abstract CustomValidator[] customValidators
public abstract ConversionErrorFieldValidator[] conversionErrorFields
public abstract DateRangeFieldValidator[] dateRangeFields
public abstract EmailValidator[] emails
public abstract CreditCardValidator[] creditCards
public abstract FieldExpressionValidator[] fieldExpressions
public abstract IntRangeFieldValidator[] intRangeFields
public abstract LongRangeFieldValidator[] longRangeFields
public abstract RequiredFieldValidator[] requiredFields
public abstract RequiredStringValidator[] requiredStrings
public abstract StringLengthFieldValidator[] stringLengthFields
public abstract UrlValidator[] urls
public abstract ConditionalVisitorFieldValidator[] conditionalVisitorFields
public abstract VisitorFieldValidator[] visitorFields
public abstract RegexFieldValidator[] regexFields
public abstract ExpressionValidator[] expressions
Copyright © 2000–2025 Apache Software Foundation. All rights reserved.