Class TextArea
- All Implemented Interfaces:
 AttachNotifier,BlurNotifier<TextArea>,CompositionNotifier,DetachNotifier,Focusable<TextArea>,FocusNotifier<TextArea>,HasAriaLabel,HasElement,HasEnabled,HasHelper,HasLabel,HasPlaceholder,HasSize,HasStyle,HasTheme,HasValidation,HasValue<AbstractField.ComponentValueChangeEvent<TextArea,,String>, String> HasValueAndElement<AbstractField.ComponentValueChangeEvent<TextArea,,String>, String> InputNotifier,KeyNotifier,HasAllowedCharPattern,HasClearButton,HasClientValidation,HasPrefix,HasSuffix,HasThemeVariant<TextAreaVariant>,HasTooltip,HasValidationProperties,InputField<AbstractField.ComponentValueChangeEvent<TextArea,,String>, String> HasAutocapitalize,HasAutocomplete,HasAutocorrect,HasPrefixAndSuffix,HasValidator<String>,HasValueChangeMode,Serializable
Validation
Text Area comes with a built-in validation mechanism based on constraints. Validation is triggered whenever the user applies an input change, for example by pressing Enter or blurring the field. Programmatic value changes trigger validation as well. In eager and lazy value change modes, validation is also triggered on every character press with a delay according to the selected mode.
Validation verifies that the value satisfies the specified constraints. If any of the constraints are violated, the component is marked as invalid and an error message is displayed below the input.
The following constraints are supported:
 Error messages for constraints can be configured with the
 TextArea.TextAreaI18n object, using the respective properties. If you want to
 provide a single catch-all error message, you can also use the
 setErrorMessage(String) method. Note that such an error message will
 take priority over i18n error messages if both are set.
 
In addition to validation, constraints may also limit user input. For example, the browser will prevent the user from entering more text than specified by the max length constraint.
 For more advanced validation that requires custom rules, you can use
 Binder. By default, before running custom validators, Binder will
 also check the component constraints and display error messages from the
 TextArea.TextAreaI18n object. The exception is the required constraint, for
 which Binder provides its own API, see
 asRequired().
 
 However, if Binder doesn't fit your needs and you want to implement fully
 custom validation logic, you can disable the constraint validation by setting
 setManualValidation(boolean) to true. This will allow you to control
 the invalid state and the error message manually using
 HasValidationProperties.setInvalid(boolean) and setErrorMessage(String) API.
- Author:
 - Vaadin Ltd.
 - See Also:
 
- 
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
AbstractField.ComponentValueChangeEvent<C extends Component,V> Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
BlurNotifier.BlurEvent<C extends Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
FocusNotifier.FocusEvent<C extends Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.shared.HasClientValidation
HasClientValidation.ClientValidatedEventNested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
HasValue.ValueChangeEvent<V>, HasValue.ValueChangeListener<E extends HasValue.ValueChangeEvent<?>> - 
Field Summary
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
AUTOCAPITALIZE_ATTRIBUTEFields inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
AUTOCOMPLETE_ATTRIBUTEFields inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
AUTOCORRECT_ATTRIBUTEFields inherited from interface com.vaadin.flow.data.value.HasValueChangeMode
DEFAULT_CHANGE_TIMEOUT - 
Constructor Summary
ConstructorsConstructorDescriptionTextArea()Constructs an emptyTextArea.TextArea(HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<TextArea, String>> listener) Constructs an emptyTextAreawith a value change listener.Constructs an emptyTextAreawith the given label.TextArea(String label, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<TextArea, String>> listener) Constructs an emptyTextAreawith a label and a value change listener.Constructs an emptyTextAreawith the given label and placeholder text.TextArea(String label, String initialValue, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<TextArea, String>> listener) Constructs an emptyTextAreawith a label, a value change listener and an initial value.Constructs aTextAreawith the given label, an initial value and placeholder text. - 
Method Summary
Modifier and TypeMethodDescriptionReturns a validator that checks the state of the Value.Returns the value that represents an empty value.getI18n()Gets the internationalization object previously set for this component.intGets the maximum number of characters (in Unicode code points) that the user can enter.Maximum number of rows to expand to before the component starts scrolling.intGets the minimum number of characters (in Unicode code points) that the user can enter.intThe minimum number of rows to show.A regular expression that the value is checked against during validation.getValue()Returns the current value of the text area.voidScrolls the textarea to the end if it has a vertical scrollbar.voidScrolls the textarea to the start if it has a vertical scrollbar.voidsetErrorMessage(String errorMessage) Sets a single error message to display for all constraint violations.voidsetI18n(TextArea.TextAreaI18n i18n) Sets the internationalization object for this component.voidsetManualValidation(boolean enabled) Sets whether manual validation mode is enabled for the component.voidsetMaxLength(int maxLength) Sets the maximum number of characters (in Unicode code points) that the user can enter.voidsetMaxRows(Integer maxRows) Sets the maximum number of rows to expand to before the component starts scrolling.voidsetMinLength(int minLength) Sets the minimum number of characters (in Unicode code points) that the user can enter.voidsetMinRows(int minRows) Sets the minimum number of rows to show.voidsetPattern(String pattern) Sets a regular expression for the value to pass during validation.voidsetRequiredIndicatorVisible(boolean required) Sets whether the user is required to provide a value.voidSets the value of this text area.protected voidvalidate()Validates the current value against the constraints and sets theinvalidproperty and theerrorMessageproperty based on the result.Methods inherited from class com.vaadin.flow.component.textfield.TextFieldBase
addToInput, addToPrefix, addToSuffix, getAriaLabel, getAriaLabelledBy, getTitle, getValueChangeMode, getValueChangeTimeout, isAutofocus, isAutoselect, isRequired, isRequiredIndicatorVisible, setAriaLabel, setAriaLabelledBy, setAutofocus, setAutoselect, setLabel, setRequired, setTitle, setValueChangeMode, setValueChangeTimeoutMethods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEventMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, isEmpty, setModelValue, valueEqualsMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListenerMethods inherited from interface com.vaadin.flow.component.CompositionNotifier
addCompositionEndListener, addCompositionStartListener, addCompositionUpdateListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.shared.HasAllowedCharPattern
getAllowedCharPattern, setAllowedCharPatternMethods inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
getAutocapitalize, setAutocapitalizeMethods inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
getAutocomplete, setAutocompleteMethods inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
isAutocorrect, setAutocorrectMethods inherited from interface com.vaadin.flow.component.shared.HasClearButton
isClearButtonVisible, setClearButtonVisibleMethods inherited from interface com.vaadin.flow.component.shared.HasClientValidation
addClientValidatedEventListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperTextMethods inherited from interface com.vaadin.flow.component.HasPlaceholder
getPlaceholder, setPlaceholderMethods inherited from interface com.vaadin.flow.component.shared.HasPrefix
getPrefixComponent, setPrefixComponentMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.shared.HasSuffix
getSuffixComponent, setSuffixComponentMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.vaadin.flow.component.shared.HasThemeVariant
addThemeVariants, removeThemeVariantsMethods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.component.shared.HasValidationProperties
getErrorMessage, isInvalid, setInvalidMethods inherited from interface com.vaadin.flow.data.binder.HasValidator
addValidationStatusChangeListenerMethods inherited from interface com.vaadin.flow.component.HasValue
addValueChangeListener, clear, getOptionalValue, isEmptyMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, setReadOnlyMethods inherited from interface com.vaadin.flow.component.InputNotifier
addInputListenerMethods inherited from interface com.vaadin.flow.component.KeyNotifier
addKeyDownListener, addKeyDownListener, addKeyPressListener, addKeyPressListener, addKeyUpListener, addKeyUpListener 
- 
Constructor Details
- 
TextArea
public TextArea()Constructs an emptyTextArea. - 
TextArea
Constructs an emptyTextAreawith the given label.- Parameters:
 label- the text to set as the label
 - 
TextArea
Constructs an emptyTextAreawith the given label and placeholder text.- Parameters:
 label- the text to set as the labelplaceholder- the placeholder text to set
 - 
TextArea
Constructs aTextAreawith the given label, an initial value and placeholder text.- Parameters:
 label- the text to set as the labelinitialValue- the initial valueplaceholder- the placeholder text to set- See Also:
 
 - 
TextArea
public TextArea(HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<TextArea, String>> listener) Constructs an emptyTextAreawith a value change listener.- Parameters:
 listener- the value change listener- See Also:
 
 - 
TextArea
public TextArea(String label, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<TextArea, String>> listener) Constructs an emptyTextAreawith a label and a value change listener.- Parameters:
 label- the text to set as the labellistener- the value change listener- See Also:
 
 - 
TextArea
public TextArea(String label, String initialValue, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<TextArea, String>> listener) Constructs an emptyTextAreawith a label, a value change listener and an initial value.- Parameters:
 label- the text to set as the labelinitialValue- the initial valuelistener- the value change listener- See Also:
 
 
 - 
 - 
Method Details
- 
scrollToStart
public void scrollToStart()Scrolls the textarea to the start if it has a vertical scrollbar. - 
scrollToEnd
public void scrollToEnd()Scrolls the textarea to the end if it has a vertical scrollbar. - 
setErrorMessage
Sets a single error message to display for all constraint violations. The error message will only appear when the component is flagged as invalid, either as a result of constraint validation or by the developer throughHasValidationProperties.setInvalid(boolean)if manual validation mode is enabled.Distinct error messages for different constraints can be configured with the
TextArea.TextAreaI18nobject, using the respective properties. However, note that the error message set withsetErrorMessage(String)will take priority and override any i18n error messages if both are set.- Specified by:
 setErrorMessagein interfaceHasValidation- Specified by:
 setErrorMessagein interfaceHasValidationProperties- Parameters:
 errorMessage- the error message to set, ornullto clear
 - 
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean required) Description copied from class:TextFieldBaseSets whether the user is required to provide a value. When required, an indicator appears next to the label and the field invalidates if the value is cleared.NOTE: The required indicator is only visible when the field has a label, see
TextFieldBase.setLabel(String).- Specified by:
 setRequiredIndicatorVisiblein interfaceHasValue<AbstractField.ComponentValueChangeEvent<TextArea,String>, String> - Specified by:
 setRequiredIndicatorVisiblein interfaceHasValueAndElement<AbstractField.ComponentValueChangeEvent<TextArea,String>, String> - Overrides:
 setRequiredIndicatorVisiblein classTextFieldBase<TextArea,String> - Parameters:
 required-trueto make the field required,falseotherwise- See Also:
 
 - 
setMaxLength
public void setMaxLength(int maxLength) Sets the maximum number of characters (in Unicode code points) that the user can enter. Values with a length exceeding this limit will cause the component to invalidate.The maximum length is inclusive.
- Parameters:
 maxLength- the maximum length- See Also:
 
 - 
getMaxLength
public int getMaxLength()Gets the maximum number of characters (in Unicode code points) that the user can enter.- Returns:
 - the maximum length
 - See Also:
 
 - 
setMinLength
public void setMinLength(int minLength) Sets the minimum number of characters (in Unicode code points) that the user can enter. Values with a length shorter than this limit will cause the component to invalidate.The minimum length is inclusive.
- Parameters:
 minLength- the minimum length- See Also:
 
 - 
getMinLength
public int getMinLength()Gets the minimum number of characters (in Unicode code points) that the user can enter.- Returns:
 - the minimum length
 - See Also:
 
 - 
setPattern
Sets a regular expression for the value to pass during validation. Values that do not match the pattern will cause the component to invalidate.The pattern must be a valid JavaScript Regular Expression that matches the entire value, not just some subset.
- Parameters:
 pattern- the new String pattern ornullto clear it- See Also:
 - 
TextArea.TextAreaI18n.setPatternErrorMessage(String)- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefpattern
 - https://html.spec.whatwg.org/multipage/input.html#attr-input-pattern
 
 
 - 
getPattern
A regular expression that the value is checked against during validation.- Returns:
 - the pattern or 
nullif not set - See Also:
 
 - 
getMinRows
public int getMinRows()The minimum number of rows to show.- Returns:
 - the minimum number of rows
 
 - 
setMinRows
public void setMinRows(int minRows) Sets the minimum number of rows to show. Default is two rows.- Parameters:
 minRows- the minimum number of rows to show
 - 
getMaxRows
Maximum number of rows to expand to before the component starts scrolling.- Returns:
 - the maximum number of rows, or 
nullif the maximum has not been set 
 - 
setMaxRows
Sets the maximum number of rows to expand to before the component starts scrolling. This effectively sets a max-height on theinput-fieldpart. By default, the value isnull, which means the component grows with the content without constraints.- Parameters:
 maxRows- the maximum number of rows, ornullto remove the maximum
 - 
getEmptyValue
Description copied from interface:HasValueReturns the value that represents an empty value.By default
HasValueis expected to supportnullas empty values. Specific implementations might not support this.- Specified by:
 getEmptyValuein interfaceHasValue<AbstractField.ComponentValueChangeEvent<TextArea,String>, String> - Overrides:
 getEmptyValuein classAbstractField<TextArea,String> - Returns:
 - empty value
 
 - 
setValue
Sets the value of this text area. If the new value is not equal togetValue(), fires a value change event. ThrowsNullPointerException, if the value is null.Note:
Binderwill take care of thenullconversion when integrates with text area, as long as no new converter is defined.- Specified by:
 setValuein interfaceHasValue<AbstractField.ComponentValueChangeEvent<TextArea,String>, String> - Overrides:
 setValuein classAbstractField<TextArea,String> - Parameters:
 value- the new value, notnull
 - 
getValue
Returns the current value of the text area. By default, the empty text area will return an empty string.- Specified by:
 getValuein interfaceHasValue<AbstractField.ComponentValueChangeEvent<TextArea,String>, String> - Overrides:
 getValuein classAbstractField<TextArea,String> - Returns:
 - the current value.
 
 - 
getDefaultValidator
Description copied from interface:HasValidatorReturns a validator that checks the state of the Value. This should be overridden for components with internal value conversion or validation, e.g. when the user is providing a string that has to be parsed into a date. An invalid input from user will be exposed to aBinderand can be seen as a validation failure.- Specified by:
 getDefaultValidatorin interfaceHasValidator<String>- Returns:
 - state validator
 
 - 
setManualValidation
public void setManualValidation(boolean enabled) Description copied from interface:HasValidationSets whether manual validation mode is enabled for the component.When enabled, the component doesn't perform its built-in constraint validation on value change, blur, and other events. This allows manually controlling the invalid state and error messages using the
HasValidation.setInvalid(boolean)andHasValidation.setErrorMessage(String)methods. Manual mode is helpful when there is a need for a totally custom validation logic that cannot be achieved with Binder.Example:
Field field = new Field(); field.setManualValidation(true); field.addValueChangeListener(event -> { if (Objects.equal(event.getValue(), "")) { field.setInvalid(true); field.setErrorMessage("The field is required."); } else { field.setInvalid(false); } });For components that don't have built-in validation, the method has no effect.
- Specified by:
 setManualValidationin interfaceHasValidation- Parameters:
 enabled- whether to enable manual validation mode.
 - 
validate
protected void validate()Validates the current value against the constraints and sets theinvalidproperty and theerrorMessageproperty based on the result. If a custom error message is provided withsetErrorMessage(String), it is used. Otherwise, the error message defined in the i18n object is used.The method does nothing if the manual validation mode is enabled.
 - 
getI18n
Gets the internationalization object previously set for this component.NOTE: Updating the instance that is returned from this method will not update the component if not set again using
setI18n(TextAreaI18n)- Returns:
 - the i18n object or 
nullif no i18n object has been set 
 - 
setI18n
Sets the internationalization object for this component.- Parameters:
 i18n- the i18n object, notnull
 
 -