validarDados method

List<String> validarDados()

Valida os dados do termo de autorização

Implementation

List<String> validarDados() {
  final erros = <String>[];

  // Validar CNPJ/CPF do contratante
  if (!ValidacoesUtils.isValidCnpj(contratanteNumero) &&
      !ValidacoesUtils.isValidCpf(contratanteNumero)) {
    erros.add('CNPJ/CPF do contratante inválido: $contratanteNumero');
  }

  // Validar CNPJ/CPF do autor do pedido
  if (!ValidacoesUtils.isValidCnpj(autorPedidoDadosNumero) &&
      !ValidacoesUtils.isValidCpf(autorPedidoDadosNumero)) {
    erros.add(
      'CNPJ/CPF do autor do pedido inválido: $autorPedidoDadosNumero',
    );
  }

  // Validar nome do contratante
  if (contratanteNome.trim().isEmpty) {
    erros.add('Nome do contratante é obrigatório');
  }

  // Validar nome do autor do pedido
  if (autorPedidoDadosNome.trim().isEmpty) {
    erros.add('Nome do autor do pedido é obrigatório');
  }

  // Validar formato da data de assinatura (AAAAMMDD)
  if (!_isValidDateFormat(dataAssinatura)) {
    erros.add(
      'Data de assinatura deve estar no formato AAAAMMDD: $dataAssinatura',
    );
  }

  // Validar formato da data de vigência (AAAAMMDD)
  if (!_isValidDateFormat(dataVigencia)) {
    erros.add(
      'Data de vigência deve estar no formato AAAAMMDD: $dataVigencia',
    );
  }

  // Validar se data de vigência é posterior à data de assinatura
  if (dataVigencia.compareTo(dataAssinatura) <= 0) {
    erros.add('Data de vigência deve ser posterior à data de assinatura');
  }

  return erros;
}