All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.opensymphony.xwork2.validator.annotations.VisitorFieldValidator Maven / Gradle / Ivy

There is a newer version: 6.3.0.2
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package com.opensymphony.xwork2.validator.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 
 * The validator allows you to forward validator to object properties of your action
 * using the objects own validator files. This allows you to use the ModelDriven development
 * pattern and manage your validations for your models in one place, where they belong, next to
 * your model classes.
 *
 * The VisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays.
 * The error message for the VisitorFieldValidator will be appended in front of validator messages added
 * by the validations for the Object message.
 * 
 *
 * 

Annotation usage:

* * *

The annotation must be applied at method level.

* * *

Annotation parameters:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Parameter Required Default Notes
messageyes field error message
keyno i18n key from language specific properties file.
messageParamsno Additional params to be used to customize message - will be evaluated against the Value Stack
fieldNameno  
shortCircuitnofalseIf this validator should be used as shortCircuit.
context no action alias Determines the context to use for validating the Object property. If not defined, the context of the Action validation is propogated to the Object property validation. In the case of Action validation, this context is the Action alias.
appendPrefix no true Determines whether the field name of this field validator should be prepended to the field name of the visited field to determine the full field name when an error occurs. For example, suppose that the bean being validated has a "name" property. If appendPrefix is true, then the field error will be stored under the field "bean.name". If appendPrefix is false, then the field error will be stored under the field "name".
If you are using the VisitorFieldValidator to validate the model from a ModelDriven Action, you should set appendPrefix to false unless you are using "model.name" to reference the properties on your model.
* * *

Example code:

* *
 * 
 * @VisitorFieldValidator(message = "Default message", key = "i18n.key", shortCircuit = true, context = "action alias", appendPrefix = true)
 * 
 * 
* * @author Rainer Hermanns */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface VisitorFieldValidator { /** * Determines the context to use for validating the Object property. * If not defined, the context of the Action validator is propagated to the Object property validator. * In the case of Action validator, this context is the Action alias. * * @return context */ String context() default ""; /** * Determines whether the field name of this field validator should be prepended to the field name of * the visited field to determine the full field name when an error occurs. For example, suppose that * the bean being validated has a "name" property. * * If appendPrefix is true, then the field error will be stored under the field "bean.name". * If appendPrefix is false, then the field error will be stored under the field "name". * * If you are using the VisitorFieldValidator to validate the model from a ModelDriven Action, * you should set appendPrefix to false unless you are using "model.name" to reference the properties * on your model. * * @return true if append prefix */ boolean appendPrefix() default true; /** * @return The default error message for this validator. * NOTE: It is required to set a message, if you are not using the message key for 18n lookup! */ String message() default ""; /** * @return The message key to lookup for i18n. */ String key() default ""; /** * @return The optional fieldName for SIMPLE validator types. */ String fieldName() default ""; /** * @return Additional params to be used to customize message - will be evaluated against the Value Stack */ String[] messageParams() default {}; /** * If this is activated, the validator will be used as short-circuit. * * Adds the short-circuit="true" attribute value if true. * * @return true if validator will be used as short-circuit. Default is false. */ boolean shortCircuit() default false; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy