Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida sobre validação de dados

Durante o curso, fizemos um mecanismo de validação no setter cliente usando o instanceof para prevenir que usuário inserisse um cliente que não fosse um objeto da Classe Cliente. Percebi que essa validação estava falha pois no ato de criar uma conta, ao fornecer agência e cliente, ainda era possível passar uma informação inválida de cliente. Coloquei o mesmo mecanismo de verificação do setter no constructor e o problema foi resolvido. Tentando expandir esse pensamento, coloquei também mecanismos de verificação para agência e saldo Inicial no constructor com a função isNaN(), para garantir que os dados inseridos eram numéricos.

Contudo me deparei com um problema esquisito: se eu declaro um saldo inicial na forma de string (ex.: "300"), a verificação permite a inserção do dado, automaticamente interpretando-o como número. Caso eu faça um depósito em sequência à abertura desta conta (ex.: depositar 500), ao invés de somar normalmente os valores (500 + 300 = 800), o programa concatena-os (500 + 300 = 500300) provavelmente por ainda interpretar o saldo inicial como string.

Qual seria uma função ou instrução adequada para checar se os dados da agência e do saldo inicial são númericos?

2 respostas
solução!

Boa tarde Eric,

Uma maneira de validar se uma variável é um número é utilizando por exemplo

if(typeof variavel === typeof Number()) {}

O typeof retorna uma string com o tipo da variável, então é possível validar comparando com a instancia da classe Number(), que é utilizada pelo javascript para os números

Abs!

Muito obrigado, Wesley.