Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.opensymphony.xwork2.validator.validators
Class VisitorFieldValidator

    java.lang.Object
      com.opensymphony.xwork2.validator.validators.ValidatorSupport
          com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
              com.opensymphony.xwork2.validator.validators.VisitorFieldValidator

All Implemented Interfaces:
  FieldValidator, ShortCircuitableValidator, Validator

    public class VisitorFieldValidator

extends FieldValidatorSupport

The VisitorFieldValidator allows you to forward validation to object properties of your action using the object's own validation 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.

- fieldName - field name if plain-validator syntax is used, not needed if field-validator syntax is used
- context - the context of which validation should take place. Optional
- appendPrefix - the prefix to be added to field. Optional

        <validators>
            <!-- Plain Validator Syntax -->
            <validator type="visitor">
                <param name="fieldName">user</param>
                <param name="context">myContext</param>
                <param name="appendPrefix">true</param>
            </validator>

            <!-- Field Validator Syntax -->
            <field name="user">
               <field-validator type="visitor">
                  <param name="context">myContext</param>
                  <param name="appendPrefix">true</param>
               </field-validator>
            </field>
        </validators>

In the example above, if the acion's getUser() method return User object, XWork will look for User-myContext-validation.xml for the validators. Since appednPrefix is true, every field name will be prefixed with 'user' such that if the actual field name for 'name' is 'user.name'

Version:
  $Date: 2006-11-30 00:02:19 +0100 (Do, 30 Nov 2006) $ $Id: VisitorFieldValidator.java 1237 2006-11-29 23:02:19Z rainerh $
Author:
  Jason Carreira, Rainer Hermanns

Nested Class Summary
`private class` | `VisitorFieldValidator.AppendingValidatorContext`

Field Summary
`private boolean` | `appendPrefix`
`private String` | `context`

Fields inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport
`defaultMessage, log, messageKey`

Constructor Summary
`VisitorFieldValidator()`

Method Summary
`String` | `getContext()`
`boolean` | `isAppendPrefix()` Flags 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.
`void` | `setAppendPrefix(boolean appendPrefix)` Sets 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.
`void` | `setContext(String context)`
`void` | `validate(Object object)` The validation implementation must guarantee that setValidatorContext will be called with a non-null ValidatorContext before validate is called.
`private void` | `validateArrayElements(Object[] array, String fieldName, String visitorContext)`
`private void` | `validateObject(String fieldName, Object o, String visitorContext)`

Methods inherited from class com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
`getFieldName, getValidatorType, setFieldName, setValidatorType`

Methods inherited from class com.opensymphony.xwork2.validator.validators.ValidatorSupport
`addActionError, addFieldError, conditionalParse, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getParse, getValidatorContext, isShortCircuit, setDefaultMessage, setMessageKey, setParse, setShortCircuit, setValidatorContext`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.opensymphony.xwork2.validator.Validator
`getDefaultMessage, getMessage, getMessageKey, getValidatorContext, setDefaultMessage, setMessageKey, setValidatorContext`

Field Detail

### context

    private String context

### appendPrefix

    private boolean appendPrefix

Constructor Detail

### VisitorFieldValidator

    public VisitorFieldValidator()

Method Detail

### setAppendPrefix

    public void setAppendPrefix(boolean appendPrefix)

  Sets 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. The default is true.

### isAppendPrefix

    public boolean isAppendPrefix()

  Flags 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. The default is true.

### setContext

    public void setContext(String context)

### getContext

    public String getContext()

### validate

    public void validate(Object object)
                  throws ValidationException

  Description copied from interface: `Validator`
  The validation implementation must guarantee that setValidatorContext will be called with a non-null ValidatorContext before validate is called.

  Throws:
    `ValidationException`

### validateArrayElements

    private void validateArrayElements(Object[] array,
                                       String fieldName,
                                       String visitorContext)
                                throws ValidationException

  Throws:
    `ValidationException`

### validateObject

    private void validateObject(String fieldName,
                                Object o,
                                String visitorContext)
                         throws ValidationException

  Throws:
    `ValidationException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.