/**
   * Verifica se os campos da janela foram preenchidos corretamente. Os campos errados recebem uma
   * borda vermelha
   *
   * @return <code>boolean</code> com <code>true</code> caso todos os campos tenham sido preenchidos
   *     corretamente, e <code>false</code> caso contrário
   */
  @Override
  public boolean validarCampos() {
    boolean valido = true;

    if (!validarLogin()) valido = false;

    if (ValidarDados.validarSenhaFunc(passwordField.getPassword())) {
      passwordField.setBorder(UIManager.getBorder("PasswordField.border"));

      if (!ValidarDados.validarSenhasIguais(
          passwordField.getPassword(), rPasswordField.getPassword())) {
        rPasswordField.setBorder(new LineBorder(Color.RED));
        valido = false;
      } else rPasswordField.setBorder(UIManager.getBorder("PasswordField.border"));
    } else {
      passwordField.setBorder(new LineBorder(Color.RED));
      rPasswordField.setBorder(UIManager.getBorder("PasswordField.border"));
      valido = false;
    }

    return valido;
  }
  /**
   * Verifica se o campo login da janela for preenchido corretamente. Se o campo estiver errado,
   * receberá uma borda vermelha
   *
   * @return <code>boolean</code> com <code>true</code> caso o campo tenha sido preenchido
   *     corretamente, e <code>false</code> caso contrário
   */
  public boolean validarLogin() {
    if (ValidarDados.validarLoginFunc(loginTextField.getText())) {
      if (new FuncionarioDAO()
              .pesquisarLoginUnico(BancoDeDadosBVB.getInstance(), loginTextField.getText())
          == null) {
        verificacaoPanel.setBorder(
            new TitledBorder(
                null,
                "Disponível",
                TitledBorder.LEADING,
                TitledBorder.TOP,
                null,
                new Color(0, 128, 0)));
        loginTextField.setBorder(UIManager.getBorder("TextField.border"));

        return true;
      } else {
        verificacaoPanel.setBorder(
            new TitledBorder(
                null,
                "Indisponível",
                TitledBorder.LEADING,
                TitledBorder.TOP,
                null,
                new Color(255, 0, 0)));
        loginTextField.setBorder(new LineBorder(Color.RED));
      }
    } else {
      verificacaoPanel.setBorder(
          new TitledBorder(
              null,
              "Inválido",
              TitledBorder.LEADING,
              TitledBorder.TOP,
              null,
              new Color(255, 0, 0)));
      loginTextField.setBorder(new LineBorder(Color.RED));
    }

    return false;
  }