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:
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
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:
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!
Camila Ribeiro says
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
Mauda says
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!