com.vaadin.flow.component.textfield.
Class EmailField
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.AbstractField<C,T>
-
- com.vaadin.flow.component.AbstractSinglePropertyField<R,T>
-
- com.vaadin.flow.component.textfield.GeneratedVaadinTextField<R,T>
-
- com.vaadin.flow.component.textfield.GeneratedVaadinEmailField<EmailField,String>
-
- com.vaadin.flow.component.textfield.EmailField
-
All Implemented Interfaces:
AttachNotifier
,BlurNotifier<EmailField>
,CompositionNotifier
,DetachNotifier
,Focusable<EmailField>
,FocusNotifier<EmailField>
,HasElement
,HasEnabled
,HasHelper
,HasLabel
,HasSize
,HasStyle
,HasTheme
,HasValidation
,HasValue<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
,HasValueAndElement<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
,InputNotifier
,KeyNotifier
,HasClearButton
,HasAutocapitalize
,HasAutocomplete
,HasAutocorrect
,HasPrefixAndSuffix
,HasValueChangeMode
,Serializable
public class EmailField extends GeneratedVaadinEmailField<EmailField,String> implements HasSize, HasValidation, HasValueChangeMode, HasPrefixAndSuffix, InputNotifier, KeyNotifier, CompositionNotifier, HasAutocomplete, HasAutocapitalize, HasAutocorrect, HasHelper, HasLabel, HasClearButton
Email Field is an extension of Text Field that only accepts email addresses as input. If the given address is invalid, the field is highlighted in red and an error message appears underneath the input. The validity of the email addresses is checked according to the RFC 5322 standard, which includes the format for email addresses. The component also supports supplying additional validation criteria using a regular expression (see
setPattern(String)
). These extra validation criteria can be used, for example, to require a specific email domain.Author:
Vaadin Ltd.
See Also:
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.vaadin.flow.component.textfield.GeneratedVaadinTextField
GeneratedVaadinTextField.ChangeEvent<R extends GeneratedVaadinTextField<R,?>>, GeneratedVaadinTextField.InvalidChangeEvent<R extends GeneratedVaadinTextField<R,?>>
-
Nested 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.HasValue
HasValue.ValueChangeEvent<V>, HasValue.ValueChangeListener<E extends HasValue.ValueChangeEvent<?>>
-
-
Field Summary
-
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
AUTOCAPITALIZE_ATTRIBUTE
-
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
AUTOCOMPLETE_ATTRIBUTE
-
Fields inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
AUTOCORRECT_ATTRIBUTE
-
Fields inherited from interface com.vaadin.flow.data.value.HasValueChangeMode
DEFAULT_CHANGE_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description EmailField()
Constructs an empty
EmailField
.EmailField(HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<EmailField,String>> listener)
Constructs an empty
EmailField
with a value change listener.EmailField(String label)
Constructs an empty
EmailField
with the given label.EmailField(String label, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<EmailField,String>> listener)
Constructs an empty
EmailField
with a value change listener and a label.EmailField(String label, String placeholder)
Constructs an empty
EmailField
with the given label and placeholder text.EmailField(String label, String initialValue, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<EmailField,String>> listener)
Constructs a
EmailField
with a value change listener, a label and an initial value.
-
Method Summary
All Methods Modifier and Type Method Description String
getEmptyValue()
Returns the value that represents an empty value.
String
getErrorMessage()
Gets current error message from the component.
String
getLabel()
String used for the label element.
int
getMaxLength()
Maximum number of characters (in Unicode code points) that the user can enter.
int
getMinLength()
Minimum number of characters (in Unicode code points) that the user can enter.
String
getPattern()
A regular expression that the value is checked against.
String
getPlaceholder()
A hint to the user of what can be entered in the component.
String
getTitle()
The text usually displayed in a tooltip popup when the mouse is over the field.
String
getValue()
Returns the current value of the email field.
ValueChangeMode
getValueChangeMode()
Gets current value change mode of the component.
int
getValueChangeTimeout()
Returns the currently set timeout, for how often
HasValue.ValueChangeEvent
s are triggered when the ValueChangeMode is set toValueChangeMode.LAZY
, orValueChangeMode.TIMEOUT
.boolean
isAutofocus()
Specify that this control should have input focus when the page loads.
boolean
isAutoselect()
Specifies if the field value gets automatically selected when the field gains focus.
boolean
isInvalid()
Returns
true
if component input is invalid,false
otherwise.boolean
isPreventInvalidInput()
When set to
true
, user is prevented from typing a value that conflicts with the givenpattern
.protected void
onAttach(AttachEvent attachEvent)
Called when the component is attached to a UI.
void
setAutofocus(boolean autofocus)
Description copied from corresponding location in WebComponent:
void
setAutoselect(boolean autoselect)
Set to
true
to always have the field value automatically selected when the field gains focus,false
otherwise.void
setErrorMessage(String errorMessage)
Description copied from corresponding location in WebComponent:
void
setInvalid(boolean invalid)
Description copied from corresponding location in WebComponent:
void
setLabel(String label)
Description copied from corresponding location in WebComponent:
void
setMaxLength(int maxLength)
Maximum number of characters (in Unicode code points) that the user can enter.
void
setMinLength(int minLength)
Minimum number of characters (in Unicode code points) that the user can enter.
void
setPattern(String pattern)
Description copied from corresponding location in WebComponent:
void
setPlaceholder(String placeholder)
Description copied from corresponding location in WebComponent:
void
setPreventInvalidInput(boolean preventInvalidInput)
Description copied from corresponding location in WebComponent:
void
setRequiredIndicatorVisible(boolean requiredIndicatorVisible)
Sets the required indicator visible or not.
void
setTitle(String title)
Description copied from corresponding location in WebComponent:
void
setValue(String value)
Sets the value of this email field.
void
setValueChangeMode(ValueChangeMode valueChangeMode)
Sets new value change mode for the component.
void
setValueChangeTimeout(int valueChangeTimeout)
Sets how often
HasValue.ValueChangeEvent
s are triggered when the ValueChangeMode is set toValueChangeMode.LAZY
, orValueChangeMode.TIMEOUT
.protected void
validate()
Performs server-side validation of the current value.
-
Methods inherited from class com.vaadin.flow.component.textfield.GeneratedVaadinTextField
addChangeListener, addInvalidChangeListener, addThemeVariants, addToInput, addToPrefix, addToSuffix, checkValidity, getAutocapitalizeString, getAutocompleteString, getAutocorrectString, getErrorMessageString, getLabelString, getListString, getMaxlengthDouble, getMinlengthDouble, getNameString, getPatternString, getPlaceholderString, getTitleString, isAutofocusBoolean, isAutoselectBoolean, isDisabledBoolean, isInvalidBoolean, isPreventInvalidInputBoolean, isReadonlyBoolean, isRequiredBoolean, remove, removeAll, removeThemeVariants, setAutocapitalize, setAutocomplete, setAutocorrect, setDisabled, setList, setMaxlength, setMinlength, setName, setReadonly, setRequired
-
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
-
Methods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, isEmpty, setModelValue, valueEquals
-
Methods inherited from class com.vaadin.flow.component.Component
addListener, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getLocale, getParent, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
-
Methods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListener
-
Methods inherited from interface com.vaadin.flow.component.CompositionNotifier
addCompositionEndListener, addCompositionStartListener, addCompositionUpdateListener
-
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
-
Methods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndex
-
Methods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListener
-
Methods inherited from interface com.vaadin.flow.component.textfield.HasAutocapitalize
getAutocapitalize, setAutocapitalize
-
Methods inherited from interface com.vaadin.flow.component.textfield.HasAutocomplete
getAutocomplete, setAutocomplete
-
Methods inherited from interface com.vaadin.flow.component.textfield.HasAutocorrect
isAutocorrect, setAutocorrect
-
Methods inherited from interface com.vaadin.flow.component.shared.HasClearButton
isClearButtonVisible, setClearButtonVisible
-
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
-
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
-
Methods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperText
-
Methods inherited from interface com.vaadin.flow.component.textfield.HasPrefixAndSuffix
getPrefixComponent, getSuffixComponent, setPrefixComponent, setSuffixComponent
-
Methods 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, setWidthFull
-
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
Methods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
-
Methods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValue
-
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly
-
Methods inherited from interface com.vaadin.flow.component.InputNotifier
addInputListener
-
Methods inherited from interface com.vaadin.flow.component.KeyNotifier
addKeyDownListener, addKeyDownListener, addKeyPressListener, addKeyPressListener, addKeyUpListener, addKeyUpListener
-
-
-
-
Constructor Detail
-
EmailField
public EmailField()
Constructs an empty
EmailField
.
-
EmailField
public EmailField(String label)
Constructs an empty
EmailField
with the given label.Parameters:
label
- the text to set as the label
-
EmailField
public EmailField(String label, String placeholder)
Constructs an empty
EmailField
with the given label and placeholder text.Parameters:
label
- the text to set as the labelplaceholder
- the placeholder text to set
-
EmailField
public EmailField(HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<EmailField,String>> listener)
Constructs an empty
EmailField
with a value change listener.Parameters:
listener
- the value change listenerSee Also:
AbstractField.addValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener)
-
EmailField
public EmailField(String label, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<EmailField,String>> listener)
Constructs an empty
EmailField
with a value change listener and a label.Parameters:
label
- the text to set as the labellistener
- the value change listenerSee Also:
setLabel(String)
,AbstractField.addValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener)
-
EmailField
public EmailField(String label, String initialValue, HasValue.ValueChangeListener<? super AbstractField.ComponentValueChangeEvent<EmailField,String>> listener)
Constructs a
EmailField
with a value change listener, a label and an initial value.Parameters:
label
- the text to set as the labelinitialValue
- the initial valuelistener
- the value change listenerSee Also:
setLabel(String)
,AbstractField.setValue(Object)
,AbstractField.addValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener)
-
-
Method Detail
-
getValueChangeMode
public ValueChangeMode getValueChangeMode()
Gets current value change mode of the component.
The default value is
ValueChangeMode.ON_CHANGE
.Specified by:
getValueChangeMode
in interfaceHasValueChangeMode
Returns:
current value change mode of the component, or
null
if the value is not synchronized
-
setValueChangeMode
public void setValueChangeMode(ValueChangeMode valueChangeMode)
Description copied from interface:
HasValueChangeMode
Sets new value change mode for the component.
Specified by:
setValueChangeMode
in interfaceHasValueChangeMode
Parameters:
valueChangeMode
- new value change mode, ornull
to disable the value synchronization
-
setValueChangeTimeout
public void setValueChangeTimeout(int valueChangeTimeout)
Description copied from interface:
HasValueChangeMode
Sets how often
HasValue.ValueChangeEvent
s are triggered when the ValueChangeMode is set toValueChangeMode.LAZY
, orValueChangeMode.TIMEOUT
.Implementations should use
ValueChangeMode.applyChangeTimeout(ValueChangeMode, int, DomListenerRegistration)
.Specified by:
setValueChangeTimeout
in interfaceHasValueChangeMode
Parameters:
valueChangeTimeout
- the timeout in milliseconds of how oftenHasValue.ValueChangeEvent
s are triggered.
-
getValueChangeTimeout
public int getValueChangeTimeout()
Description copied from interface:
HasValueChangeMode
Returns the currently set timeout, for how often
HasValue.ValueChangeEvent
s are triggered when the ValueChangeMode is set toValueChangeMode.LAZY
, orValueChangeMode.TIMEOUT
.Specified by:
getValueChangeTimeout
in interfaceHasValueChangeMode
Returns:
the timeout in milliseconds of how often
HasValue.ValueChangeEvent
s are triggered.
-
getErrorMessage
public String getErrorMessage()
Description copied from interface:
HasValidation
Gets current error message from the component.
Specified by:
getErrorMessage
in interfaceHasValidation
Returns:
current error message
-
setErrorMessage
public void setErrorMessage(String errorMessage)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
Error to show when the input value is invalid.
Specified by:
setErrorMessage
in interfaceHasValidation
Overrides:
setErrorMessage
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
errorMessage
- the String value to set
-
isInvalid
public boolean isInvalid()
Description copied from interface:
HasValidation
Returns
true
if component input is invalid,false
otherwise.Specified by:
isInvalid
in interfaceHasValidation
Returns:
whether the component input is valid
-
setInvalid
public void setInvalid(boolean invalid)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
This property is set to true when the control value is invalid.
Specified by:
setInvalid
in interfaceHasValidation
Overrides:
setInvalid
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
invalid
- the boolean value to set
-
setLabel
public void setLabel(String label)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
String used for the label element.
Specified by:
setLabel
in interfaceHasLabel
Overrides:
setLabel
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
label
- the String value to set
-
getLabel
public String getLabel()
String used for the label element.
-
setPlaceholder
public void setPlaceholder(String placeholder)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
A hint to the user of what can be entered in the control.
Overrides:
setPlaceholder
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
placeholder
- the String value to set
-
getPlaceholder
public String getPlaceholder()
A hint to the user of what can be entered in the component.
Returns:
the
placeholder
property from the webcomponent
-
setAutofocus
public void setAutofocus(boolean autofocus)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
Specify that this control should have input focus when the page loads.
Overrides:
setAutofocus
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
autofocus
- the boolean value to set
-
isAutofocus
public boolean isAutofocus()
Specify that this control should have input focus when the page loads.
Returns:
the
autofocus
property from the webcomponent
-
setMaxLength
public void setMaxLength(int maxLength)
Maximum number of characters (in Unicode code points) that the user can enter.
Parameters:
maxLength
- the maximum length
-
getMaxLength
public int getMaxLength()
Maximum number of characters (in Unicode code points) that the user can enter.
Returns:
the
maxlength
property from the webcomponent
-
setMinLength
public void setMinLength(int minLength)
Minimum number of characters (in Unicode code points) that the user can enter.
Parameters:
minLength
- the minimum length
-
getMinLength
public int getMinLength()
Minimum number of characters (in Unicode code points) that the user can enter.
Returns:
the
minlength
property from the webcomponent
-
isPreventInvalidInput
public boolean isPreventInvalidInput()
When set to
true
, user is prevented from typing a value that conflicts with the givenpattern
.Returns:
the
preventInvalidInput
property from the webcomponent
-
setPreventInvalidInput
public void setPreventInvalidInput(boolean preventInvalidInput)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
When set to true, user is prevented from typing a value that conflicts with the given
pattern
,maxlength
orminlength
properties.Overrides:
setPreventInvalidInput
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
preventInvalidInput
- the boolean value to set
-
setPattern
public void setPattern(String pattern)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
A regular expression that the value is checked against. The pattern must match the entire value, not just some subset.
Overrides:
setPattern
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
pattern
- the String value to set
-
getPattern
public String getPattern()
A regular expression that the value is checked against. The pattern must match the entire value, not just some subset.
Returns:
the
pattern
property from the webcomponent
-
getTitle
public String getTitle()
The text usually displayed in a tooltip popup when the mouse is over the field.
Returns:
the
title
property from the webcomponent
-
setTitle
public void setTitle(String title)
Description copied from class:
GeneratedVaadinTextField
Description copied from corresponding location in WebComponent:
The text usually displayed in a tooltip popup when the mouse is over the field.
Overrides:
setTitle
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
title
- the String value to set
-
isAutoselect
public boolean isAutoselect()
Specifies if the field value gets automatically selected when the field gains focus.
Returns:
true
if autoselect is active,false
otherwise
-
setAutoselect
public void setAutoselect(boolean autoselect)
Set to
true
to always have the field value automatically selected when the field gains focus,false
otherwise.Overrides:
setAutoselect
in classGeneratedVaadinTextField<EmailField,String>
Parameters:
autoselect
-true
to set auto select on,false
otherwise
-
getEmptyValue
public String getEmptyValue()
Description copied from interface:
HasValue
Returns the value that represents an empty value.
By default
HasValue
is expected to supportnull
as empty values. Specific implementations might not support this.Specified by:
getEmptyValue
in interfaceHasValue<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
Overrides:
getEmptyValue
in classAbstractField<EmailField,String>
Returns:
empty value
-
setValue
public void setValue(String value)
Sets the value of this email field. If the new value is not equal to
getValue()
, fires a value change event. ThrowsNullPointerException
, if the value is null.Note:
Binder
will take care of thenull
conversion when integrates with email field, as long as no new converter is defined.Specified by:
setValue
in interfaceHasValue<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
Overrides:
setValue
in classAbstractField<EmailField,String>
Parameters:
value
- the new value, notnull
-
getValue
public String getValue()
Returns the current value of the email field. By default, the empty email field will return an empty string.
Specified by:
getValue
in interfaceHasValue<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
Overrides:
getValue
in classAbstractField<EmailField,String>
Returns:
the current value.
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible)
Description copied from interface:
HasValue
Sets the required indicator visible or not.
If set visible, it is visually indicated in the user interface.
The method is intended to be used with
Binder
which does server-side validation. In case HTML element has its own (client-side) validation it should be disabled whensetRequiredIndicatorVisible(true)
is called and re-enabled back onsetRequiredIndicatorVisible(false)
. It's responsibility of each component implementation to follow the contract so that the method call doesn't do anything else than show/hide the "required" indication. Usually components provide their ownsetRequired
method which should be called in case the client-side validation is required.Specified by:
setRequiredIndicatorVisible
in interfaceHasValue<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
Specified by:
setRequiredIndicatorVisible
in interfaceHasValueAndElement<AbstractField.ComponentValueChangeEvent<EmailField,String>,String>
Parameters:
requiredIndicatorVisible
-true
to make the required indicator visible,false
if not
-
validate
protected void validate()
Performs server-side validation of the current value. This is needed because it is possible to circumvent the client-side validation constraints using browser development tools.
Overrides:
validate
in classGeneratedVaadinTextField<EmailField,String>
-
onAttach
protected void onAttach(AttachEvent attachEvent)
Description copied from class:
Component
Called when the component is attached to a UI.
The default implementation does nothing.
This method is invoked before the
AttachEvent
is fired for the component.
-
-