Class Field

java.lang.Object
org.apache.commons.validator.Field
All Implemented Interfaces:
Serializable, Cloneable

public class Field extends Object implements Cloneable, Serializable
This contains the list of pluggable validators to run on a field and any message information and variables to perform the validations and generate error messages. Instances of this class are configured with a <field> xml element.

The use of FastHashMap is deprecated and will be replaced in a future release.

See Also:
  • Field Details Link icon

    • TOKEN_INDEXED Link icon

      public static final String TOKEN_INDEXED
      This indicates an indexed property is being referenced.
      See Also:
    • TOKEN_START Link icon

      protected static final String TOKEN_START
      The start of a token.
      See Also:
    • TOKEN_END Link icon

      protected static final String TOKEN_END
      The end of a token.
      See Also:
    • TOKEN_VAR Link icon

      protected static final String TOKEN_VAR
      A Variable token.
      See Also:
    • property Link icon

      protected String property
      The Field's property name.
    • indexedProperty Link icon

      The Field's indexed property name.
    • indexedListProperty Link icon

      The Field's indexed list property name.
    • key Link icon

      protected String key
      The Field's unique key.
    • depends Link icon

      protected String depends
      A comma separated list of validator's this field depends on.
    • page Link icon

      protected volatile int page
      The Page Number
    • clientValidation Link icon

      protected volatile boolean clientValidation
      The flag that indicates whether scripting should be generated by the client for client-side validation.
      Since:
      1.4
    • fieldOrder Link icon

      protected volatile int fieldOrder
      The order of the Field in the Form.
    • hVars Link icon

      @Deprecated protected org.apache.commons.collections.FastHashMap hVars
      Deprecated.
      Subclasses should use getVarMap() instead.
    • hMsgs Link icon

      @Deprecated protected org.apache.commons.collections.FastHashMap hMsgs
      Deprecated.
      Subclasses should use getMsgMap() instead.
    • args Link icon

      protected Map<String,Arg>[] args
      Holds Maps of arguments. args[0] returns the Map for the first replacement argument. Start with a 0 length array so that it will only grow to the size of the highest argument position.
      Since:
      1.1
  • Constructor Details Link icon

    • Field Link icon

      public Field()
      Constructs a new instance.
  • Method Details Link icon

    • addArg Link icon

      public void addArg(Arg arg)
      Add an Arg to the replacement argument list.
      Parameters:
      arg - Validation message's argument.
      Since:
      1.1
    • addMsg Link icon

      public void addMsg(Msg msg)
      Add a Msg to the Field.
      Parameters:
      msg - A validation message.
    • addVar Link icon

      public void addVar(String name, String value, String jsType)
      Add a Var, based on the values passed in, to the Field.
      Parameters:
      name - Name of the validation.
      value - The Argument's value.
      jsType - The JavaScript type.
    • addVar Link icon

      public void addVar(Var v)
      Add a Var to the Field.
      Parameters:
      v - The Validator Argument.
    • clone Link icon

      public Object clone()
      Creates and returns a copy of this object.
      Overrides:
      clone in class Object
      Returns:
      A copy of the Field.
    • generateKey Link icon

      public void generateKey()
      Generate correct key value.
    • getArg Link icon

      public Arg getArg(int position)
      Gets the default Arg object at the given position.
      Parameters:
      position - Validation message argument's position.
      Returns:
      The default Arg or null if not found.
      Since:
      1.1
    • getArg Link icon

      public Arg getArg(String key, int position)
      Gets the Arg object at the given position. If the key finds a null value then the default value will be retrieved.
      Parameters:
      key - The name the Arg is stored under. If not found, the default Arg for the given position (if any) will be retrieved.
      position - The Arg number to find.
      Returns:
      The Arg with the given name and position or null if not found.
      Since:
      1.1
    • getArgs Link icon

      public Arg[] getArgs(String key)
      Gets the Args for the given validator name.
      Parameters:
      key - The validator's args to retrieve.
      Returns:
      An Arg[] sorted by the Args' positions (for example, the Arg at index 0 has a position of 0).
      Since:
      1.1.1
    • getDependencyList Link icon

      Gets an unmodifiable List of the dependencies in the same order they were defined in parameter passed to the setDepends() method.
      Returns:
      A list of the Field's dependencies.
    • getDepends Link icon

      public String getDepends()
      Gets the validation rules for this field as a comma separated list.
      Returns:
      A comma separated list of validator names.
    • getFieldOrder Link icon

      public int getFieldOrder()
      Gets the position of the Field in the validation list.
      Returns:
      The field position.
    • getIndexedListProperty Link icon

      Gets the indexed property name of the field. This is the method name that will return an array or a Collection used to retrieve the list and then loop through the list performing the specified validations.
      Returns:
      The field's indexed List property name.
    • getIndexedProperty Link icon

      Gets the indexed property name of the field. This is the method name that can take an int as a parameter for indexed property value retrieval.
      Returns:
      The field's indexed property name.
    • getKey Link icon

      public String getKey()
      Gets a unique key based on the property and indexedProperty fields.
      Returns:
      a unique key for the field.
    • getMessage Link icon

      public Msg getMessage(String key)
      Retrieve a message object.
      Parameters:
      key - Validation key.
      Returns:
      A validation message for a specified validator.
      Since:
      1.1.4
    • getMessages Link icon

      The Field's messages are returned as an unmodifiable Map.
      Returns:
      Map of validation messages for the field.
      Since:
      1.1.4
    • getMsg Link icon

      public String getMsg(String key)
      Retrieve a message value.
      Parameters:
      key - Validation key.
      Returns:
      A validation message for a specified validator.
    • getMsgMap Link icon

      protected Map<String,Msg> getMsgMap()
      Returns a Map of String Msg names to Msg objects.
      Returns:
      A Map of the Field's messages.
      Since:
      1.2.0
    • getPage Link icon

      public int getPage()
      Gets the page value that the Field is associated with for validation.
      Returns:
      The page number.
    • getProperty Link icon

      public String getProperty()
      Gets the property name of the field.
      Returns:
      The field's property name.
    • getVar Link icon

      public Var getVar(String mainKey)
      Retrieve a variable.
      Parameters:
      mainKey - The Variable's key
      Returns:
      the Variable
    • getVarMap Link icon

      protected Map<String,Var> getVarMap()
      Returns a Map of String Var names to Var objects.
      Returns:
      A Map of the Field's variables.
      Since:
      1.2.0
    • getVars Link icon

      public Map<String,Var> getVars()
      The Field's variables are returned as an unmodifiable Map.
      Returns:
      the Map of Variable's for a Field.
    • getVarValue Link icon

      public String getVarValue(String mainKey)
      Retrieve a variable's value.
      Parameters:
      mainKey - The Variable's key
      Returns:
      the Variable's value
    • isClientValidation Link icon

      public boolean isClientValidation()
      Determines whether client-side scripting should be generated for this field. The default is true
      Returns:
      true for scripting; otherwise false
      Since:
      1.4
      See Also:
    • isDependency Link icon

      public boolean isDependency(String validatorName)
      Checks if the validator is listed as a dependency.
      Parameters:
      validatorName - Name of the validator to check.
      Returns:
      Whether the field is dependant on a validator.
    • isIndexed Link icon

      public boolean isIndexed()
      If there is a value specified for the indexedProperty field then true will be returned. Otherwise, it will be false.
      Returns:
      Whether the Field is indexed.
    • setClientValidation Link icon

      public void setClientValidation(boolean clientValidation)
      Sets the flag that determines whether client-side scripting should be generated for this field.
      Parameters:
      clientValidation - the scripting flag
      Since:
      1.4
      See Also:
    • setDepends Link icon

      public void setDepends(String depends)
      Sets the validation rules for this field as a comma separated list.
      Parameters:
      depends - A comma separated list of validator names.
    • setFieldOrder Link icon

      public void setFieldOrder(int fieldOrder)
      Sets the position of the Field in the validation list.
      Parameters:
      fieldOrder - The field position.
    • setIndexedListProperty Link icon

      public void setIndexedListProperty(String indexedListProperty)
      Sets the indexed property name of the field.
      Parameters:
      indexedListProperty - The field's indexed List property name.
    • setIndexedProperty Link icon

      public void setIndexedProperty(String indexedProperty)
      Sets the indexed property name of the field.
      Parameters:
      indexedProperty - The field's indexed property name.
    • setKey Link icon

      public void setKey(String key)
      Sets a unique key for the field. This can be used to change the key temporarily to have a unique key for an indexed field.
      Parameters:
      key - a unique key for the field
    • setPage Link icon

      public void setPage(int page)
      Sets the page value that the Field is associated with for validation.
      Parameters:
      page - The page number.
    • setProperty Link icon

      public void setProperty(String property)
      Sets the property name of the field.
      Parameters:
      property - The field's property name.
    • toString Link icon

      public String toString()
      Returns a string representation of the object.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the object.
    • validate Link icon

      Run the configured validations on this field. Run all validations in the depends clause over each item in turn, returning when the first one fails.
      Parameters:
      params - A Map of parameter class names to parameter values to pass into validation methods.
      actions - A Map of validator names to ValidatorAction objects.
      Returns:
      A ValidatorResults object containing validation messages for this field.
      Throws:
      ValidatorException - If an error occurs during validation.