org.apache.commons.validator

## Class Validator

- java.lang.Object
- - org.apache.commons.validator.Validator

- All Implemented Interfaces:
    Serializable

      public class Validator
      extends Object
      implements Serializable

  Validations are processed by the validate method. An instance of `ValidatorResources` is used to define the validators (validation methods) and the validation rules for a JavaBean.
  Version:
    $Revision$
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `BEAN_PARAM` Resources key the JavaBean is stored to perform validation on.
    `protected ClassLoader` | `classLoader` The class loader to use for instantiating application objects.
    `static String` | `FIELD_PARAM` Resources key the `Field` is stored under.
    `protected String` | `fieldName` The name of the field on the form to validate
    `static String` | `FORM_PARAM` Resources key the `Form` is stored under.
    `protected String` | `formName` The name of the form to validate
    `static String` | `LOCALE_PARAM` Resources key the `Locale` is stored.
    `protected boolean` | `onlyReturnErrors` Set this to true to not return Fields that pass validation.
    `protected int` | `page` The current page number to validate.
    `protected Map<String,Object>` | `parameters` Maps validation method parameter class names to the objects to be passed into the method.
    `protected ValidatorResources` | `resources` The Validator Resources.
    `protected boolean` | `useContextClassLoader` Whether or not to use the Context ClassLoader when loading classes for instantiating new objects.
    `static String` | `VALIDATOR_ACTION_PARAM` Resources key the `ValidatorAction` is stored under.
    `static String` | `VALIDATOR_PARAM` Resources key the `Validator` is stored under.
    `static String` | `VALIDATOR_RESULTS_PARAM` Resources key the `ValidatorResults` is stored under.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Validator(ValidatorResources resources)` Construct a `Validator` that will use the `ValidatorResources` passed in to retrieve pluggable validators the different sets of validation rules.
    `Validator(ValidatorResources resources, String formName)` Construct a `Validator` that will use the `ValidatorResources` passed in to retrieve pluggable validators the different sets of validation rules.
    `Validator(ValidatorResources resources, String formName, String fieldName)` Construct a `Validator` that will use the `ValidatorResources` passed in to retrieve pluggable validators the different sets of validation rules.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Clears the form name, resources that were added, and the page that was set (if any).
    `ClassLoader` | `getClassLoader()` Return the class loader to be used for instantiating application objects when required.
    `String` | `getFormName()` Gets the form name which is the key to a set of validation rules.
    `boolean` | `getOnlyReturnErrors()` Returns true if the Validator is only returning Fields that fail validation.
    `int` | `getPage()` Gets the page.
    `Object` | `getParameterValue(String parameterClassName)` Returns the value of the specified parameter that will be used during the processing of validations.
    `boolean` | `getUseContextClassLoader()` Return the boolean as to whether the context classloader should be used.
    `void` | `setClassLoader(ClassLoader classLoader)` Set the class loader to be used for instantiating application objects when required.
    `void` | `setFieldName(String fieldName)` Sets the name of the field to validate in a form (optional)
    `void` | `setFormName(String formName)` Sets the form name which is the key to a set of validation rules.
    `void` | `setOnlyReturnErrors(boolean onlyReturnErrors)` Configures which Fields the Validator returns from the validate() method.
    `void` | `setPage(int page)` Sets the page.
    `void` | `setParameter(String parameterClassName, Object parameterValue)` Set a parameter of a pluggable validation method.
    `void` | `setUseContextClassLoader(boolean use)` Determine whether to use the Context ClassLoader (the one found by calling `Thread.currentThread().getContextClassLoader()`) to resolve/load classes that are defined in various rules.
    `ValidatorResults` | `validate()` Performs validations based on the configured resources.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BEAN_PARAM

          public static final String BEAN_PARAM

      Resources key the JavaBean is stored to perform validation on.
      See Also:
        Constant Field Values

    - #### VALIDATOR_ACTION_PARAM

          public static final String VALIDATOR_ACTION_PARAM

      Resources key the `ValidatorAction` is stored under. This will be automatically passed into a validation method with the current `ValidatorAction` if it is specified in the method signature.
      See Also:
        Constant Field Values

    - #### VALIDATOR_RESULTS_PARAM

          public static final String VALIDATOR_RESULTS_PARAM

      Resources key the `ValidatorResults` is stored under. This will be automatically passed into a validation method with the current `ValidatorResults` if it is specified in the method signature.
      See Also:
        Constant Field Values

    - #### FORM_PARAM

          public static final String FORM_PARAM

      Resources key the `Form` is stored under. This will be automatically passed into a validation method with the current `Form` if it is specified in the method signature.
      See Also:
        Constant Field Values

    - #### FIELD_PARAM

          public static final String FIELD_PARAM

      Resources key the `Field` is stored under. This will be automatically passed into a validation method with the current `Field` if it is specified in the method signature.
      See Also:
        Constant Field Values

    - #### VALIDATOR_PARAM

          public static final String VALIDATOR_PARAM

      Resources key the `Validator` is stored under. This will be automatically passed into a validation method with the current `Validator` if it is specified in the method signature.
      See Also:
        Constant Field Values

    - #### LOCALE_PARAM

          public static final String LOCALE_PARAM

      Resources key the `Locale` is stored. This will be used to retrieve the appropriate `FormSet` and `Form` to be processed.
      See Also:
        Constant Field Values

    - #### resources

          protected ValidatorResources resources

      The Validator Resources.

    - #### formName

          protected String formName

      The name of the form to validate

    - #### fieldName

          protected String fieldName

      The name of the field on the form to validate
      Since:
        1.2.0

    - #### parameters

          protected Map<String,Object> parameters

      Maps validation method parameter class names to the objects to be passed into the method.

    - #### page

          protected int page

      The current page number to validate.

    - #### classLoader

          protected transient ClassLoader classLoader

      The class loader to use for instantiating application objects. If not specified, the context class loader, or the class loader used to load Digester itself, is used, based on the value of the `useContextClassLoader` variable.

    - #### useContextClassLoader

          protected boolean useContextClassLoader

      Whether or not to use the Context ClassLoader when loading classes for instantiating new objects. Default is `false`.

    - #### onlyReturnErrors

          protected boolean onlyReturnErrors

      Set this to true to not return Fields that pass validation. Only return failures.

  - ### Constructor Detail

    - #### Validator

          public Validator(ValidatorResources resources)

      Construct a `Validator` that will use the `ValidatorResources` passed in to retrieve pluggable validators the different sets of validation rules.
      Parameters:
        `resources` - `ValidatorResources` to use during validation.

    - #### Validator

          public Validator(ValidatorResources resources,
                           String formName)

      Construct a `Validator` that will use the `ValidatorResources` passed in to retrieve pluggable validators the different sets of validation rules.
      Parameters:
        `resources` - `ValidatorResources` to use during validation.
        `formName` - Key used for retrieving the set of validation rules.

    - #### Validator

          public Validator(ValidatorResources resources,
                           String formName,
                           String fieldName)

      Construct a `Validator` that will use the `ValidatorResources` passed in to retrieve pluggable validators the different sets of validation rules.
      Parameters:
        `resources` - `ValidatorResources` to use during validation.
        `formName` - Key used for retrieving the set of validation rules.
        `fieldName` - Key used for retrieving the set of validation rules for a field
      Since:
        1.2.0

  - ### Method Detail

    - #### setParameter

          public void setParameter(String parameterClassName,
                                   Object parameterValue)

      Set a parameter of a pluggable validation method.
      Parameters:
        `parameterClassName` - The full class name of the parameter of the validation method that corresponds to the value/instance passed in with it.
        `parameterValue` - The instance that will be passed into the validation method.

    - #### getParameterValue

          public Object getParameterValue(String parameterClassName)

      Returns the value of the specified parameter that will be used during the processing of validations.
      Parameters:
        `parameterClassName` - The full class name of the parameter of the validation method that corresponds to the value/instance passed in with it.
      Returns:
        value of the specified parameter.

    - #### getFormName

          public String getFormName()

      Gets the form name which is the key to a set of validation rules.
      Returns:
        the name of the form.

    - #### setFormName

          public void setFormName(String formName)

      Sets the form name which is the key to a set of validation rules.
      Parameters:
        `formName` - the name of the form.

    - #### setFieldName

          public void setFieldName(String fieldName)

      Sets the name of the field to validate in a form (optional)
      Parameters:
        `fieldName` - The name of the field in a form set
      Since:
        1.2.0

    - #### getPage

          public int getPage()

      Gets the page.

      This in conjunction with the page property of a `Field` can control the processing of fields. If the field's page is less than or equal to this page value, it will be processed.

      Returns:
        the page number.

    - #### setPage

          public void setPage(int page)

      Sets the page.

      This in conjunction with the page property of a `Field` can control the processing of fields. If the field's page is less than or equal to this page value, it will be processed.

      Parameters:
        `page` - the page number.

    - #### clear

          public void clear()

      Clears the form name, resources that were added, and the page that was set (if any). This can be called to reinitialize the Validator instance so it can be reused. The form name (key to set of validation rules) and any resources needed, like the JavaBean being validated, will need to set and/or added to this instance again. The `ValidatorResources` will not be removed since it can be used again and is thread safe.

    - #### getUseContextClassLoader

          public boolean getUseContextClassLoader()

      Return the boolean as to whether the context classloader should be used.
      Returns:
        whether the context classloader should be used.

    - #### setUseContextClassLoader

          public void setUseContextClassLoader(boolean use)

      Determine whether to use the Context ClassLoader (the one found by calling `Thread.currentThread().getContextClassLoader()`) to resolve/load classes that are defined in various rules. If not using Context ClassLoader, then the class-loading defaults to using the calling-class' ClassLoader.
      Parameters:
        `use` - determines whether to use Context ClassLoader.

    - #### getClassLoader

          public ClassLoader getClassLoader()

      Return the class loader to be used for instantiating application objects when required. This is determined based upon the following rules:
      - The class loader set by `setClassLoader()`, if any
      - The thread context class loader, if it exists and the `useContextClassLoader` property is set to true
      - The class loader used to load the Digester class itself.
      Returns:
        the class loader.

    - #### setClassLoader

          public void setClassLoader(ClassLoader classLoader)

      Set the class loader to be used for instantiating application objects when required.
      Parameters:
        `classLoader` - The new class loader to use, or `null` to revert to the standard rules

    - #### validate

          public ValidatorResults validate()
                                    throws ValidatorException

      Performs validations based on the configured resources.
      Returns:
        The `Map` returned uses the property of the `Field` for the key and the value is the number of error the field had.
      Throws:
        `ValidatorException` - If an error occurs during validation

    - #### getOnlyReturnErrors

          public boolean getOnlyReturnErrors()

      Returns true if the Validator is only returning Fields that fail validation.
      Returns:
        whether only failed fields are returned.

    - #### setOnlyReturnErrors

          public void setOnlyReturnErrors(boolean onlyReturnErrors)

      Configures which Fields the Validator returns from the validate() method. Set this to true to only return Fields that failed validation. By default, validate() returns all fields.
      Parameters:
        `onlyReturnErrors` - whether only failed fields are returned.

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.