org.apache.click.control
Class TextField

java.lang.Object
  extended by org.apache.click.control.AbstractControl
      extended by org.apache.click.control.Field
          extended by org.apache.click.control.TextField
All Implemented Interfaces:
Serializable, Control, Stateful
Direct Known Subclasses:
PasswordField

public class TextField
extends Field

Provides a Text Field control:   <input type='text'>.

Text Field

TextField Example

The example below shows how to a TextField to a Form, and how it will be rendered as HTML.
 TextField usernameField = new TextField("username");
 usernameField.setRequired(true);
 usernameField.setSize(12);
 usernameField.setMaxLength(12);
 usernameField.setMinLength(6);
 form.add(usernameField); 
The TextField control will rendered HTML output:
 <input type='text' name='username' value='' size='12' maxlength='12'> 
For another example using TextField see the Form Javadoc example.

See also the W3C HTML reference: INPUT

See Also:
Serialized Form

Field Summary
protected  int maxLength
          The maximum field length validation constraint.
protected  int minLength
          The minimum field length validation constraint.
protected  int size
          The text field size attribute.
protected static String VALIDATE_TEXTFIELD_FUNCTION
          The field validation JavaScript function template.
 
Fields inherited from class org.apache.click.control.Field
disabled, error, focus, form, help, label, labelStyle, labelStyleClass, parentStyleClassHint, parentStyleHint, readonly, required, tabindex, title, trim, validate, value
 
Fields inherited from class org.apache.click.control.AbstractControl
actionListener, attributes, behaviors, headElements, listener, listenerMethod, messages, name, parent, styles
 
Fields inherited from interface org.apache.click.Control
CONTROL_MESSAGES
 
Constructor Summary
TextField()
          Create a TextField with no name defined.
TextField(String name)
          Construct the TextField with the given name.
TextField(String name, boolean required)
          Construct the TextField with the given name and required status.
TextField(String name, String label)
          Construct the TextField with the given name and label.
TextField(String name, String label, boolean required)
          Construct the TextField with the given name, label and required status.
TextField(String name, String label, int size)
          Construct the TextField with the given name, label and size.
TextField(String name, String label, int size, boolean required)
          Construct the TextField with the given name, label, size and required status.
 
Method Summary
 int getControlSizeEst()
          Return the estimated rendered control size in characters.
 int getMaxLength()
          Returns the maximum field length validation constraint.
 int getMinLength()
          Returns the minimum field length validation constraint.
 int getSize()
          Return the field size.
 String getTag()
          Return the textfield's html tag: input.
 String getType()
          Return the input type: 'text'.
 String getValidationJavaScript()
          Return the field JavaScript client side validation function.
 void render(HtmlStringBuffer buffer)
          Render the HTML representation of the TextField.
 void setMaxLength(int maxLength)
          Sets the maximum field length.
 void setMinLength(int minLength)
          Sets the minimum field length validation constraint.
 void setSize(int size)
          Set the field size.
 void validate()
          Validate the TextField request submission.
 
Methods inherited from class org.apache.click.control.Field
bindRequestValue, getError, getErrorLabel, getFocus, getFocusJavaScript, getForm, getHelp, getId, getLabel, getLabelStyle, getLabelStyleClass, getParentStyleClassHint, getParentStyleHint, getRequestValue, getState, getTabIndex, getTextAlign, getTitle, getValidate, getValue, getValueObject, getWidth, isDisabled, isHidden, isReadonly, isRequired, isTrim, isValid, onProcess, removeState, renderTagBegin, restoreState, saveState, setDisabled, setError, setErrorMessage, setErrorMessage, setFocus, setForm, setHelp, setLabel, setLabelStyle, setLabelStyleClass, setListener, setParent, setParentStyleClassHint, setParentStyleHint, setReadonly, setRequired, setState, setTabIndex, setTextAlign, setTitle, setTrim, setValidate, setValue, setValueObject, setWidth
 
Methods inherited from class org.apache.click.control.AbstractControl
addBehavior, addStyleClass, appendAttributes, dispatchActionEvent, getActionListener, getAttribute, getAttributes, getBehaviors, getContext, getHeadElements, getHtmlImports, getMessage, getMessage, getMessages, getName, getPage, getParent, getStyle, getStyles, hasAttribute, hasAttributes, hasBehaviors, hasStyles, isAjaxTarget, onDeploy, onDestroy, onInit, onRender, removeBehavior, removeStyleClass, renderTagEnd, setActionListener, setAttribute, setId, setName, setStyle, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VALIDATE_TEXTFIELD_FUNCTION

protected static final String VALIDATE_TEXTFIELD_FUNCTION
The field validation JavaScript function template. The function template arguments are:

See Also:
Constant Field Values

maxLength

protected int maxLength
The maximum field length validation constraint. If the value is zero this validation constraint is not applied. The default value is zero.

If maxLength is greater than zero, then maxLength is rendered as the HTML attribute 'maxlength'.


minLength

protected int minLength
The minimum field length validation constraint. If the valid is zero this validation constraint is not applied. The default value is zero.


size

protected int size
The text field size attribute. The default size is 20.

Constructor Detail

TextField

public TextField(String name)
Construct the TextField with the given name. The default text field size is 20 characters.

Parameters:
name - the name of the field

TextField

public TextField(String name,
                 boolean required)
Construct the TextField with the given name and required status. The default text field size is 20 characters.

Parameters:
name - the name of the field
required - the field required status

TextField

public TextField(String name,
                 String label)
Construct the TextField with the given name and label. The default text field size is 20 characters.

Parameters:
name - the name of the field
label - the label of the field

TextField

public TextField(String name,
                 String label,
                 boolean required)
Construct the TextField with the given name, label and required status. The default text field size is 20 characters.

Parameters:
name - the name of the field
label - the label of the field
required - the field required status

TextField

public TextField(String name,
                 String label,
                 int size)
Construct the TextField with the given name, label and size.

Parameters:
name - the name of the field
label - the label of the field
size - the size of the field

TextField

public TextField(String name,
                 String label,
                 int size,
                 boolean required)
Construct the TextField with the given name, label, size and required status.

Parameters:
name - the name of the field
label - the label of the field
size - the size of the field
required - the field required status

TextField

public TextField()
Create a TextField with no name defined.

Please note the control's name must be defined before it is valid.

Method Detail

getTag

public String getTag()
Return the textfield's html tag: input.

Overrides:
getTag in class AbstractControl
Returns:
this controls html tag
See Also:
AbstractControl.getTag()

getMaxLength

public int getMaxLength()
Returns the maximum field length validation constraint. If the maxLength property is greater than zero, the Field values length will be validated against this constraint when processed.

If maxLength is greater than zero, it is rendered as the field attribute 'maxlength'

Returns:
the maximum field length validation constraint

setMaxLength

public void setMaxLength(int maxLength)
Sets the maximum field length. If the maxLength property is greater than zero, the Field values length will be validated against this constraint when processed.

If maxLength is greater than zero, it is rendered as the field attribute 'maxlength'

Parameters:
maxLength - the maximum field length validation constraint

getMinLength

public int getMinLength()
Returns the minimum field length validation constraint. If the minLength property is greater than zero, the Field values length will be validated against this constraint when processed.

Returns:
the minimum field length validation constraint

setMinLength

public void setMinLength(int minLength)
Sets the minimum field length validation constraint. If the minLength property is greater than zero, the Field values length will be validated against this constraint when processed.

Parameters:
minLength - the minimum field length validation constraint

getSize

public int getSize()
Return the field size.

Returns:
the field size

setSize

public void setSize(int size)
Set the field size.

Parameters:
size - the field size

getType

public String getType()
Return the input type: 'text'.

Returns:
the input type: 'text'

getControlSizeEst

public int getControlSizeEst()
Description copied from class: AbstractControl
Return the estimated rendered control size in characters.

Overrides:
getControlSizeEst in class AbstractControl
Returns:
the estimated rendered control size in characters
See Also:
AbstractControl.getControlSizeEst()

render

public void render(HtmlStringBuffer buffer)
Render the HTML representation of the TextField.

Specified by:
render in interface Control
Overrides:
render in class AbstractControl
Parameters:
buffer - the specified buffer to render the control's output to
See Also:
AbstractControl.toString()

validate

public void validate()
Validate the TextField request submission.

A field error message is displayed if a validation error occurs. These messages are defined in the resource bundle:

org.apache.click.control.MessageProperties

Error message bundle key names include:

  • field-maxlength-error
  • field-minlength-error
  • field-required-error

Overrides:
validate in class Field

getValidationJavaScript

public String getValidationJavaScript()
Return the field JavaScript client side validation function.

The function name must follow the format validate_[id], where the id is the DOM element id of the fields focusable HTML element, to ensure the function has a unique name.

Overrides:
getValidationJavaScript in class Field
Returns:
the field JavaScript client side validation function