NetRunner: Java Mastery Guide 1.0 Help

Sistema de Validação

Visão Geral

Sistema de Validação

Validadores

Resultados

Feedback

Tipo Dados

String

Número

Data

Regras

Tamanho

Formato

Range

Sucesso

Falha

Erros

Mensagens

Códigos

Detalhes

Implementação Base

public class ValidationSystem { private final List<Validator> validators; public ValidationResult validate(Object data) { // Implementação } }

Componentes Principais

1. Interface Validator

  • Define contrato para validadores

  • Método principal de validação

  • Retorno padronizado

2. ValidationResult

  • Status da validação

  • Lista de erros

  • Mensagens detalhadas

3. ValidationBuilder

  • Construção fluente

  • Encadeamento de validações

  • Composição de regras

Uso Prático

ValidationSystem validator = new ValidationSystem(); validator.addValidator(new EmailValidator()); validator.addValidator(new PasswordValidator()); ValidationResult result = validator.validate(userData); if (!result.isValid()) { System.out.println(result.getErrors()); }

Tipos de Validadores

  1. Dados Básicos

    • String (comprimento, formato)

    • Números (range, precisão)

    • Datas (formato, período)

  2. Regras de Negócio

    • Validações compostas

    • Dependências entre campos

    • Regras customizadas

  3. Validações Assíncronas

    • Consultas externas

    • Verificações em banco

    • APIs de terceiros

Boas Práticas

  1. Desempenho

    • Cache de resultados

    • Validação lazy

    • Otimização de regras

  2. Manutenibilidade

    • Validadores isolados

    • Regras reutilizáveis

    • Documentação clara

  3. Usabilidade

    • Mensagens claras

    • Feedback imediato

    • Sugestões de correção

Exercícios Práticos

  1. Validador de Formulário

public class FormValidator extends Validator { @Override public ValidationResult validate(Object data) { // Implementar validação } }
  1. Validador de Documentos

public class DocumentValidator extends Validator { @Override public ValidationResult validate(Object data) { // Implementar validação } }

Próximos Passos

  • Implementar novos validadores

  • Adicionar suporte a anotações

  • Criar validações customizadas

  • Integrar com frameworks

Próximo: Logger de Erros

26 June 2025