javax.faces.validator

## Interface Validator

- All Superinterfaces:
    EventListener
  All Known Implementing Classes:
    BeanValidator, DoubleRangeValidator, LengthValidator, LongRangeValidator, MethodExpressionValidator, RegexValidator, RequiredValidator

      public interface Validator
      extends EventListener

  A Validator implementation is a class that can perform validation (correctness checks) on a `EditableValueHolder`. Zero or more `Validator`s can be associated with each `EditableValueHolder` in the view, and are called during the Process Validations phase of the request processing lifecycle.

  Individual `Validator`s should examine the value and component that they are passed, and throw a `ValidatorException` containing a `FacesMessage`, documenting any failures to conform to the required rules.

  For maximum generality, `Validator` instances may be configurable based on properties of the `Validator` implementation class. For example, a range check `Validator` might support configuration of the minimum and maximum values to be used.

  `Validator` implementations must have a zero-arguments public constructor. In addition, if the `Validator` class wishes to have configuration property values saved and restored with the view, the implementation must also implement `StateHolder`.

  If the class implementing `Validator` has a `ResourceDependency` annotation, the action described in `ResourceDependency` must be taken when `EditableValueHolder.addValidator(javax.faces.validator.Validator)` is called. If the class implementing `Validator` has a `ResourceDependencies` annotation, the action described in `ResourceDependencies` must be taken when `EditableValueHolder.addValidator(javax.faces.validator.Validator)` is called.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `NOT_IN_RANGE_MESSAGE_ID` Deprecated. Use `DoubleRangeValidator.NOT_IN_RANGE_MESSAGE_ID` or `LongRangeValidator.NOT_IN_RANGE_MESSAGE_ID` instead.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `validate(FacesContext context, UIComponent component, Object value)` Perform the correctness checks implemented by this `Validator` against the specified `UIComponent`.

- - ### Field Detail

    - #### NOT_IN_RANGE_MESSAGE_ID

          static final String NOT_IN_RANGE_MESSAGE_ID

      Deprecated. Use `DoubleRangeValidator.NOT_IN_RANGE_MESSAGE_ID` or `LongRangeValidator.NOT_IN_RANGE_MESSAGE_ID` instead.

      The message identifier of the `FacesMessage` to be created if the maximum or minimum value check fails, and both the maximum and minimum values for this validator have been set. The message format string for this message may optionally include a `{0}` placeholder, which will be replaced by the configured minimum value, and a `{1}` placeholder, which will be replaced by the configured maximum value.

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### validate

          void validate(FacesContext context,
                      UIComponent component,
                      Object value)
                        throws ValidatorException

      Perform the correctness checks implemented by this `Validator` against the specified `UIComponent`. If any violations are found, a `ValidatorException` will be thrown containing the `FacesMessage` describing the failure.

      For a validator to be fully compliant with Version 2 and later of the specification, it must not fail validation on `null` or empty values unless it is specifically intended to address `null` or empty values. An application-wide `<context-param>` is provided to allow validators designed for JSF 1.2 to work with JSF 2 and later. The `javax.faces.VALIDATE_EMPTY_FIELDS` `<context-param>` must be set to `false` to enable this backwards compatibility behavior.

      Parameters:
        `context` - FacesContext for the request we are processing
        `component` - UIComponent we are checking for correctness
        `value` - the value to validate
      Throws:
        `ValidatorException` - if validation fails
        `NullPointerException` - if `context` or `component` is `null`

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.