net.sf.click.control
Class TextArea

java.lang.Object
  extended bynet.sf.click.control.AbstractControl
      extended bynet.sf.click.control.Field
          extended bynet.sf.click.control.TextArea
All Implemented Interfaces:
Control, Serializable

public class TextArea
extends Field

Provides a TextArea control:   <textarea></textarea>.

Text Area

TextArea Example

The example below shows how to a TextArea to a Form:
 TextArea commentsField = new TextArea("comments");
 commentsField.setCols(40);
 commentsField.setRows(6);
 form.add(commentsField); 
The TextArea control will rendered HTML output:
 <textarea name="comments" rows="6" cols="40"/></textarea> 
See also the W3C HTML reference: TEXTAREA

Author:
Malcolm Edgar
See Also:
Serialized Form

Field Summary
protected  int cols
          The number of text area columns.
protected  int maxLength
          The maximum field length validation constraint.
protected  int minLength
          The minimum field length validation constraint.
protected  int rows
          The number of text area rows.
protected static String VALIDATE_TEXTAREA_FUNCTION
          The field validation JavaScript function template.
 
Fields inherited from class net.sf.click.control.Field
disabled, error, focus, form, help, label, readonly, required, tabindex, title, validate, value
 
Fields inherited from class net.sf.click.control.AbstractControl
actionListener, attributes, listener, listenerMethod, messages, name, parent, styles
 
Fields inherited from interface net.sf.click.Control
CONTROL_MESSAGES
 
Constructor Summary
TextArea()
          Create a TextArea with no name defined.
TextArea(String name)
          Construct the TextArea with the given name.
TextArea(String name, boolean required)
          Construct the TextArea with the given name and required status.
TextArea(String name, int cols, int rows)
          Construct the TextArea with the given name, number of columns and number of rows.
TextArea(String name, String label)
          Construct the TextArea with the given name and label.
TextArea(String name, String label, boolean required)
          Construct the TextArea with the given name, label and required status.
TextArea(String name, String label, int cols, int rows)
          Construct the TextArea with the given name, label, number of columns and number of rows.
TextArea(String name, String label, int cols, int rows, boolean required)
          Construct the TextArea with the given name, label, number of columns and number of rows.
 
Method Summary
 int getCols()
          Return the number of text area columns.
 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 getRows()
          Return the number of text area rows.
 String getTag()
          Return the textarea's html tag: textarea.
 String getValidationJavaScript()
          Return the field JavaScript client side validation function.
 void render(HtmlStringBuffer buffer)
          Render the HTML representation of the TextArea.
 void setCols(int cols)
          Set the number of text area columns.
 void setMaxLength(int maxLength)
          Sets the maximum field length.
 void setMinLength(int minLength)
          Sets the minimum field length validation constraint.
 void setRows(int rows)
          Set the number of text area rows.
 void validate()
          Validate the TextArea request submission.
 
Methods inherited from class net.sf.click.control.Field
bindRequestValue, getError, getErrorLabel, getFocus, getFocusJavaScript, getForm, getHelp, getId, getLabel, getRequestValue, getTabIndex, getTextAlign, getTitle, getValidate, getValue, getValueObject, getWidth, isDisabled, isHidden, isReadonly, isRequired, isValid, onInit, onProcess, setDisabled, setError, setErrorMessage, setErrorMessage, setErrorMessage, setErrorMessage, setFocus, setForm, setHelp, setLabel, setListener, setParent, setReadonly, setRequired, setTabIndex, setTextAlign, setTitle, setValidate, setValue, setValueObject, setWidth
 
Methods inherited from class net.sf.click.control.AbstractControl
addStyleClass, appendAttributes, getActionListener, getAttribute, getAttributes, getContext, getHtmlImports, getMessage, getMessage, getMessage, getMessages, getName, getPage, getParent, getStyle, getStyles, hasAttribute, hasAttributes, hasStyles, onDeploy, onDestroy, onRender, registerActionEvent, removeStyleClass, renderTagBegin, 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_TEXTAREA_FUNCTION

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

See Also:
Constant Field Values

cols

protected int cols
The number of text area columns. The default number of columns is twenty.


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.


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.


rows

protected int rows
The number of text area rows. The default number of rows is three.

Constructor Detail

TextArea

public TextArea(String name)
Construct the TextArea with the given name. The area will have a default size of 20 cols and 3 rows.

Parameters:
name - the name of the field

TextArea

public TextArea(String name,
                String label)
Construct the TextArea with the given name and label. The area will have a default size of 20 cols and 3 rows.

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

TextArea

public TextArea(String name,
                boolean required)
Construct the TextArea with the given name and required status. The area will have a default size of 20 cols and 3 rows.

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

TextArea

public TextArea(String name,
                String label,
                boolean required)
Construct the TextArea with the given name, label and required status. The area will have a default size of 20 cols and 3 rows.

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

TextArea

public TextArea(String name,
                int cols,
                int rows)
Construct the TextArea with the given name, number of columns and number of rows.

Parameters:
name - the name of the field
cols - the number of text area cols
rows - the number of text area rows

TextArea

public TextArea(String name,
                String label,
                int cols,
                int rows)
Construct the TextArea with the given name, label, number of columns and number of rows.

Parameters:
name - the name of the field
label - the label of the field
cols - the number of text area cols
rows - the number of text area rows

TextArea

public TextArea(String name,
                String label,
                int cols,
                int rows,
                boolean required)
Construct the TextArea with the given name, label, number of columns and number of rows.

Parameters:
name - the name of the field
label - the label of the field
cols - the number of text area cols
rows - the number of text area rows
required - the field required status

TextArea

public TextArea()
Create a TextArea 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 textarea's html tag: textarea.

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

getCols

public int getCols()
Return the number of text area columns.

Returns:
the number of text area columns

setCols

public void setCols(int cols)
Set the number of text area columns. The default number of columns is 20.

Parameters:
cols - set the number of text area columns.

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.

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.

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

getRows

public int getRows()
Return the number of text area rows.

Returns:
the number of text area rows

setRows

public void setRows(int rows)
Set the number of text area rows. The default number of rows is 3.

Parameters:
rows - set the number of text area rows

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 TextArea.

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 TextArea request submission.

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

net.sf.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