Annotation Interface ConditionalVisitorFieldValidator


@Target(METHOD) @Retention(RUNTIME) public @interface ConditionalVisitorFieldValidator

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 ConditionalVisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays. The error message for the ConditionalVisitorFieldValidator 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
expression yes   Boolean conditional expression
message yes   field error message
key no   i18n key from language specific properties file.
messageParams no   Additional params to be used to customize message - will be evaluated against the Value Stack
fieldName no    
shortCircuit no false If 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 propagated 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:

 
 @ConditionalVisitorFieldValidator(expression="app.appid > 100",  message = "Default message", key = "i18n.key", shortCircuit = true, context = "action alias", appendPrefix = true)
 
 
Author:
Matt Raible
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
     
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    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.
    Determines the context to use for validating the Object property.
     
     
     
     
    boolean
    If this is activated, the validator will be used as short-circuit.
  • Element Details

    • expression

      String expression
      Returns:
      The conditional expression.
    • context

      String context
      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.
      Returns:
      the context
      Default:
      ""
    • appendPrefix

      boolean appendPrefix
      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 ConditionalVisitorFieldValidator 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.
      Returns:
      if append prefix
      Default:
      true
    • message

      String message
      Returns:
      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!
      Default:
      ""
    • key

      String key
      Returns:
      The message key to lookup for i18n.
      Default:
      ""
    • messageParams

      String[] messageParams
      Returns:
      Additional params to be used to customize message - will be evaluated against the Value Stack
      Default:
      {}
    • fieldName

      String fieldName
      Returns:
      The optional fieldName for SIMPLE validator types.
      Default:
      ""
    • shortCircuit

      boolean shortCircuit
      If this is activated, the validator will be used as short-circuit. Adds the short-circuit='true' attribute value if true.
      Returns:
      true if validator will be used as short-circuit. Default is false.
      Default:
      false