Email Field

Email Field, an extension of Text Field, 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.

Open in a
new tab
EmailField validEmailField = new EmailField();
validEmailField.setLabel("Email address");
validEmailField.getElement().setAttribute("name", "email");
validEmailField.setValue("julia.scheider@email.com");
validEmailField.setErrorMessage("Please enter a valid email address");
validEmailField.setClearButtonVisible(true);

EmailField invalidEmailField = new EmailField();
invalidEmailField.setLabel("Email address");
invalidEmailField.getElement().setAttribute("name", "email");
invalidEmailField.setValue("This is not an email");
invalidEmailField.setErrorMessage("Please enter a valid email address");
invalidEmailField.setClearButtonVisible(true);
invalidEmailField.setInvalid(true);

add(validEmailField, invalidEmailField);

Validity of the email addresses is checked according to the RFC 5322 standard, which includes the format for email addresses.

Common Input Field Features

Email Field includes all Text Field and shared input field features.

Pattern for Additional Validation

The pattern attribute is an additional validation criterion that you can set if, for example, a specific domain is required. The pattern is specified using regular expression.

The example below uses the pattern .+@example\.com and only accepts addresses in the example.com domain.

Open in a
new tab
EmailField emailField = new EmailField();
emailField.setLabel("Email address");
emailField.getElement().setAttribute("name", "email");
emailField.setPlaceholder("username@example.com");
emailField.setErrorMessage("Please enter a valid example.com email address");
emailField.setClearButtonVisible(true);
emailField.setPattern("^.+@example\\.com$");
add(emailField);