Advertisement
Sketchware

Avisa por 3 segundos quando houve espaço branco no final EditText

Mar 16th, 2023
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.10 KB | None | 0 0
  1. final EditText editTextEmail = findViewById(R.id.email);
  2.  
  3. editTextEmail.addTextChangedListener(new TextWatcher() {
  4.     @Override
  5.     public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  6.         // Não é necessário implementar este método
  7.     }
  8.  
  9.     @Override
  10.     public void onTextChanged(CharSequence s, int start, int before, int count) {
  11.         // Remove espaços em branco do início e fim do texto
  12.         String email = s.toString().trim();
  13.  
  14.         // Define a expressão regular para verificar o e-mail
  15.         String emailRegex = "^[\\w\\.-]+@[\\w\\.-]+\\.(com|org|cc|net|edu|gov|info|biz|io|me|co|dev|tech|app|online|store|web|site|digital|studio)$";
  16.  
  17.         // Verifica se o e-mail não está vazio e se é válido
  18.         if (!TextUtils.isEmpty(email) && email.matches(emailRegex)) {
  19.             // Verifica se o e-mail não contém espaços em branco após a extensão do domínio
  20.             if (!email.matches(".*\\.(com|org|cc|net|edu|gov|info|biz|io|me|co|dev|tech|app|online|store|web|site|digital|studio)\\s*$")) {
  21.                 editTextEmail.setError(null); // Remove o erro de validação, se houver
  22.             } else {
  23.                 editTextEmail.setError("Não insira espaços em branco após a extensão do domínio"); // Exibe uma mensagem de erro
  24.                 new Handler().postDelayed(new Runnable() {
  25.                     @Override
  26.                     public void run() {
  27.                         editTextEmail.setError(null); // Remove a mensagem de erro após 3 segundos
  28.                     }
  29.                 }, 3000);
  30.             }
  31.         } else {
  32.             editTextEmail.setError("E-mail inválido"); // Exibe uma mensagem de erro
  33.             new Handler().postDelayed(new Runnable() {
  34.                 @Override
  35.                 public void run() {
  36.                     editTextEmail.setError(null); // Remove a mensagem de erro após 3 segundos
  37.                 }
  38.             }, 3000);
  39.         }
  40.     }
  41.  
  42.     @Override
  43.     public void afterTextChanged(Editable s) {
  44.         // Não é necessário implementar este método
  45.     }
  46. });
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement