Login form

Hello … Newcomer in Vaadin.
Can help me with the login form&?

LoginView.html

<dom-module id="login-view">
  <template>
    <style>
...
    </style>

    <content-card id="contentCard">
      <iron-form allow-redirect>
        <form method="post" action="/loginProcessing">
          <vaadin-form-layout responsive-steps='[{"columns": 1}]
'>
            <vaadin-text-field id="email">
              <iron-icon slot="prefix" icon="vaadin:user"></iron-icon>
            </vaadin-text-field>
            <vaadin-password-field id="password">
              <iron-icon slot="prefix" icon="vaadin:password"></iron-icon>
            </vaadin-password-field>
            <vaadin-horizontal-layout class="addonPanel" theme="spacing">
              <a router-link id="forgotPassword"></a>
              <vaadin-checkbox id="keepSigned"></vaadin-checkbox>
            </vaadin-horizontal-layout>
            <vaadin-horizontal-layout class="buttonPanel" theme="spacing">
              <vaadin-button id="loginButton" role="button" theme="primary"></vaadin-button>
              <vaadin-button id="resetButton" role="button"></vaadin-button>
            </vaadin-horizontal-layout>
            </vaadin-form-item>
          </vaadin-form-layout>
        </form>
      </iron-form>
    </content-card>
  </template>


  <script>
...
  </script>
</dom-module>

LoginView.java

  @Id("loginButton")
  private Button loginButton;
...
  @Inject
  public LoginView(ApplicationUtilService applicationUtilService) {
...
    loginButton.addClickListener(
        (ComponentEventListener<ClickEvent<Button>>) buttonClickEvent -> doLogin(email.getValue(),
            password.getValue()));
...
  }

  private void doLogin(String email, String password) {
    UserDto userDto = new UserDto();

    if (binder.writeBeanIfValid(userDto)) {
      if (email.equals("admin") && password.equals("admin")) {
	   FORM.SUBMIM
      } else {
        ViewUtil.showNotification(LocalizationUtil.getI18NText(LOGIN_ERROR_LOGIN))
            .open();
      }
    } else {
      BinderValidationStatus<UserDto> validate = binder.validate();
      List<String> errorList =
          validate.getFieldValidationStatuses()
              .stream()
              .filter(BindingValidationStatus::isError)
              .map(BindingValidationStatus::getMessage)
              .map(Optional::get)
              .distinct()
              .collect(Collectors.toList());
      for
      (String error : errorList) {
        ViewUtil.showNotification(LocalizationUtil.getI18NText(LOGIN_ERROR_TEXT) + " " +
            error)
            .open();
      }
    }
  }
  1. How to call validation form before sending data?
  2. In “Full Stack App with Spring” All logic is in html … (form.submit) Can I put it in a java class?