org.apache.tapestry5

## Interface FieldValidator<T>

- Type Parameters:
    `T` -
  All Known Implementing Classes:
    BeanFieldValidator, CompositeFieldValidator, FieldValidatorImpl

      public interface FieldValidator<T>

  Responsible for validation of a single field.
  See Also:
    `Validator`, `FieldValidatorDefaultSource`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isRequired()` Returns true if any underlying `Validator` returns true from `Validator.isRequired()`.
    `void` | `render(MarkupWriter writer)` Invokes `Validator.render(Field, Object, org.apache.tapestry5.ioc.MessageFormatter, MarkupWriter, org.apache.tapestry5.services.FormSupport)`.
    `void` | `validate(T value)` Invoked after the client-submitted value has been `translated` to check that the value conforms to expectations (often, in terms of minimum or maximum value).

- - ### Method Detail

    - #### validate

          void validate(T value)
                 throws ValidationException

      Invoked after the client-submitted value has been `translated` to check that the value conforms to expectations (often, in terms of minimum or maximum value). If and only if the value is approved by all Validators is the value applied by the field.
      Parameters:
        `value` - the translated value supplied by the user
      Throws:
        `ValidationException` - if the value violates the constraint

    - #### render

          void render(MarkupWriter writer)

      Invokes `Validator.render(Field, Object, org.apache.tapestry5.ioc.MessageFormatter, MarkupWriter, org.apache.tapestry5.services.FormSupport)`. This is called at a point "inside" the tag, so that additional attributes may be added. In many cases, the underlying `Validator` may write client-side JavaScript to enforce the constraint as well.
      Parameters:
        `writer` - markup writer to direct output to.
      See Also:
        `MarkupWriter.attributes(Object[])`

    - #### isRequired

          boolean isRequired()

      Returns true if any underlying `Validator` returns true from `Validator.isRequired()`.
      Returns:
        true if the field is required (a non-blank value is expected)

${project.version} - Copyright © 2003-2015 The Apache Software Foundation.