Interface ValidationTracker

  • All Known Implementing Classes:
    ValidationTrackerImpl, ValidationTrackerWrapper

    public interface ValidationTracker
    Tracks information related to user input validations. This information is:
    • The input values provided by the user.
    • Any validation exceptions associated with input fields.
    The tracker must differentiate between components (which will implement the Field interfaces) and fields. It is a one to many relationship, because each field may be called upon to render itself multiple times within a request, because of Loop or other similar components. Internally, the tracker indexes its information in terms of the control name for each rendering of the component (the mechanics of Tapestry ensures that this is unique within the form). Validation trackers must be serializable, as they will almost always be stored into the HttpSession. Trackers are used by only a single form within a single page; they are not threadsafe.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void clear()
      Clears all information stored by the tracker.
      java.lang.String getError​(Field field)
      Returns a previously recorded error message.
      java.util.List<java.lang.String> getErrors()
      Returns a list of all error messages.
      boolean getHasErrors()
      Returns true if any field contains an error.
      java.lang.String getInput​(Field field)
      Returns a previously recorded input value.
      java.util.List<java.lang.String> getUnassociatedErrors()
      Returns just the errors that are not associated with any fields.
      boolean inError​(Field field)
      For a given field, determines if the field is "in error", meaning that an error message has been previously recorded for the field.
      void recordError​(java.lang.String errorMessage)
      Records an error message that is not associated with any specific field.
      void recordError​(Field field, java.lang.String errorMessage)
      Records an error message for a field.
      void recordInput​(Field field, java.lang.String input)
      Called by a field to record the exact input from the user, prior to any validation.
    • Method Detail

      • recordInput

        void recordInput​(Field field,
                         java.lang.String input)
        Called by a field to record the exact input from the user, prior to any validation. If the form is redisplayed (to present errors), the input value will be sent back to the user for correction.
        Parameters:
        field - the field recording the input
        input - the value obtained from the forms submission
      • getInput

        java.lang.String getInput​(Field field)
        Returns a previously recorded input value.
      • recordError

        void recordError​(java.lang.String errorMessage)
        Records an error message that is not associated with any specific field. This often reflects some amount of cross-form validation.
        Parameters:
        errorMessage -
      • inError

        boolean inError​(Field field)
        For a given field, determines if the field is "in error", meaning that an error message has been previously recorded for the field.
        Parameters:
        field -
        Returns:
        true if an error message is present
      • getError

        java.lang.String getError​(Field field)
        Returns a previously recorded error message.
      • getHasErrors

        boolean getHasErrors()
        Returns true if any field contains an error.
      • getErrors

        java.util.List<java.lang.String> getErrors()
        Returns a list of all error messages. The messages are stored in the order that they were added to the tracker, except that unassociated errors (unassociated with any field) are listed first.
      • getUnassociatedErrors

        java.util.List<java.lang.String> getUnassociatedErrors()
        Returns just the errors that are not associated with any fields.
        Since:
        5.4
      • clear

        void clear()
        Clears all information stored by the tracker.