• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

Validação de Strings – Validar string preenchida – Básico do Básico

July 30, 2018 by Mauda 2 Comments

Conteúdo do Post:
  1. Validação de String – String preenchida
  2. Método validarPreenchimento(String)
  3. Classe de Teste TesteValidacaoString
  4. finally{

Olá Pessoal, tudo bom?

Neste artigo tratará sobre a validação de Strings, mais especificamente como verificar se uma String está preenchida. Confira na continuação.

Validação de String – String preenchida

Uma String é um conjunto de caracteres que formam desde uma palavra até um texto completo. O objetivo desse artigo é explicar como deve ser realizada a validação de uma String para verificar se está preenchida.

Existem três passos que devemos realizar para validar o preenchimento de uma String:

1 – Verificar se a String é nula

2- Verificar se a String está vazia

3 – Verificar se a String não possui algum caractere válido, ou seja, se possui somente caracteres brancos (espaços, quebra de linhas, entre outros) através do método trim(), o qual elimina caracteres brancos no prefixo e sufixo da String avaliada. Por exemplo ”    ” seria uma String vazia e ”    abc    ” uma String válida.

Método validarPreenchimento(String)

Para ilustrar esse artigo iremos fazer um exemplo de um método que recebe uma String nome, cujo nome do método é validarPreenchimento(String string), conforme mostra o código abaixo:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    private void validarPreenchimento(String string) {
        //1 - Verificar se a String é nula
        if (string == null) {
            throw new RuntimeException("Erro de Preenchimento de String");
        }
        //2- Verificar se a String está vazia
        if (string.isEmpty()) {
            throw new RuntimeException("Erro de Preenchimento de String");
        }
        //3 - Verificar se a String não possui algum caractere válido
        if (string.trim().isEmpty()) {
            throw new RuntimeException("Erro de Preenchimento de String");
        }
    }

Classe de Teste TesteValidacaoString

Para ilustrar esse método de validação, vamos criar uma classe de testes unitários em JUnit5. Nessa classe de teste iremos criar três métodos de teste:

  • testeStringNula() – valida o que acontece quando a String é nula
  • testeStringNaoPreenchida(String) – valida o que acontece quando a String não é valida ou preenchida
  • testeStringPreenchida(String) – valida o que acontece quando a String é valida ou preenchida

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
 
public class TesteValidacaoString {
 
    @DisplayName("Validacao de String nula")
    @Test
    public void testeStringNula() {
        RuntimeException exception = Assertions.assertThrows(RuntimeException.class, () -> this.validarPreenchimento(null));
        Assertions.assertEquals("Erro de Preenchimento de String", exception.getMessage());
    }
 
    @DisplayName("Validacao nao preenchimento de Strings")
    @ParameterizedTest(name = "Validacao da String \"{arguments}\"")
    @ValueSource(strings = {"", " ", "  ", "   ", "    " })
    public void testeStringNaoPreenchida(String string) {
        RuntimeException exception = Assertions.assertThrows(RuntimeException.class, () -> this.validarPreenchimento(string));
        Assertions.assertEquals("Erro de Preenchimento de String", exception.getMessage());
    }
 
    @DisplayName("Validacao preenchimento Strings")
    @ParameterizedTest(name = "Validacao da String \"{arguments}\"")
    @ValueSource(strings = {"   abc", "abc     ", "abc" })
    public void testeStringPreenchida(String string) {
        this.validarPreenchimento(string);
        Assertions.assertTrue(true);
    }
 
    private void validarPreenchimento(String string) {
        if (string == null) {
            throw new RuntimeException("Erro de Preenchimento de String");
        }
        if (string.isEmpty()) {
            throw new RuntimeException("Erro de Preenchimento de String");
        }
        if (string.trim().isEmpty()) {
            throw new RuntimeException("Erro de Preenchimento de String");
        }
    }
}

Ao executar esse código será exibido o seguinte cenário de testes conforme a Figura 01:

Figura 01 – Resultado da execução dos testes unitários

finally{

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java, String Tagged With: java.lang.String, junit5, String

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Comments

  1. Camila Ribeiro says

    November 17, 2021 at 7:35 pm

    Boa tarde, professor!
    Preciso criar uma validação de entradas que não permita a inclusão de itens duplicados no banco de dados, e que apresente uma janela de dialogo apresentando erro caso seja um item duplicado.
    O metodo para validação de itens duplicados são dessa mesma forma apresentada?
    Obrigada

    Reply
    • Mauda says

      November 17, 2021 at 8:25 pm

      Olá Camila, tudo bem?

      Não seria desse jeito. Nesse caso o ideal seria aplicar uma constraint Unique na coluna em questão do banco de dados. Porque sobre em uma string que o usuário digitou você não poderia comparar com todas as outras que estão em seu banco de dados.

      Segue um tutorial sobre como criar uma unique constraint para o banco Postgres:

      https://www.postgresqltutorial.com/postgresql-unique-constraint/

      Obrigado e precisando estamos por aqui!

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2026 · Genesis Framework · WordPress · Log in