com.opensymphony.xwork2.validator.annotations.Validations Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xwork Show documentation
Show all versions of xwork Show documentation
XWork is an command-pattern framework that is used to power WebWork
as well as other applications. XWork provides an Inversion of Control
container, a powerful expression language, data type conversion,
validation, and pluggable configuration.
/*
* Copyright (c) 2002-2006 by OpenSymphony
* All rights reserved.
*/
package com.opensymphony.xwork2.validator.annotations;
import com.opensymphony.xwork2.validator.annotations.CustomValidator;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
*
* 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}.")},
* 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
* @author Rainer Hermanns
* @version $Id: Validations.java 1762 2008-03-02 15:41:11Z rainerh $
*/
@Target( { ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Validations {
/**
* Custom Validation rules.
*/
public CustomValidator[] customValidators() default {};
public ConversionErrorFieldValidator[] conversionErrorFields() default {};
public DateRangeFieldValidator[] dateRangeFields() default {};
public EmailValidator[] emails() default {};
public FieldExpressionValidator[] fieldExpressions() default {};
public IntRangeFieldValidator[] intRangeFields() default {};
public RequiredFieldValidator[] requiredFields() default {};
public RequiredStringValidator[] requiredStrings() default {};
public StringLengthFieldValidator[] stringLengthFields() default {};
public UrlValidator[] urls() default {};
public ConditionalVisitorFieldValidator[] conditionalVisitorFields() default {};
public VisitorFieldValidator[] visitorFields() default {};
public RegexFieldValidator[] regexFields() default {};
public ExpressionValidator[] expressions() default {};
}