Onde estou errando?

Olá, eu gostaria que aparecesse uma mensagem de erro, do tipo “O valor digitado não é válido” quando em qualquer das variáveis/prompt, o usuário colocasse qualquer coisa diferente de número. Não sei onde eu poderia encaixar o return. Quando eu coloco uma letra ele me mostra ambas as mensagens, tanto “o valor digitado não é válido” quanto " a diferença de idade entre vocês é de NaN anos."

Como está seu código?

Bloco de Citação


Não sei colocar o código aqui
Pode me ajudar a colocar os códigos aqui tambem? Ajudará muito nas minhas proximas duvidas.

Copie e cole o texto e faça a formatação usando o botão </> do editor. Após colar o código, basta selecionar ele e clicar no botão mencionado que ele será formatado.

1 curtida
<meta charset="UTF-8">

<script>
	
	var idadeIrmao = prompt ("Digite a idade do seu irmão.");
	var suaIdade = prompt ("Digite agora a sua idade.");
	var diferença = (idadeIrmao - suaIdade);

function mostra (frase){

	document.write (frase);

}
 if (isNaN(idadeIrmao)){

	mostra ("Valor digitado não é um número válido.");

 }

 if  (isNaN(suaIdade)){

 	mostra ("Valor digitado não é um número válido.");

 }

 mostra (" A diferença de idade entre vocês são de: " + diferença + " anos.")

 
</script>
1 curtida

Tu pode criar uma função que seja responsável por ler o número e verificar se o valor informado é válido:

<script>
	function lerNumero(mensagem) {
		var numero = parseInt(prompt(mensagem));

		if (isNaN(numero)) {
			alert('Valor digitado não é um número válido. Tente novamente.');
			return lerNumero(mensagem);
		}

		return numero
	}

	var idadeIrmao = lerNumero('Digite a idade do seu irmão.');
	var suaIdade = lerNumero("Digite agora a sua idade.");
	var diferença = (idadeIrmao - suaIdade);

	alert('A diferença de idade entre vocês são de: ' + diferença + ' anos.');
</script>
1 curtida

Obrigada! Deu certo! A organização ficou bem diferente do meu código original hehe mais limpo, isso é ótimo! Aproveitei e acrescentei uma mensagem de if, conforme a diferença de idade entre os usuários fosse dada.

<meta charset="UTF-8">

<script>
	
function lerNumero(mensagem) {
		var numero = parseInt(prompt(mensagem));

		if (isNaN(numero)) {
			alert('Valor digitado não é um número válido. Tente novamente.');
			return lerNumero(mensagem);
		}

		return numero
	}

function mostra (frase){

	document.write (frase);

}

	var idadeIrmao = lerNumero('Digite a idade do seu irmão.');
	var suaIdade = lerNumero("Digite agora a sua idade.");
	var diferença = (idadeIrmao - suaIdade);

	if (diferença > 0) {

		mostra ("Legal, você é o irmão mais novo! Parabéns! ");
	}

	if (diferença < 0) {

		mostra ("Legal, você é o irmão mais velho! Parabéns! ");
	}

	if (diferença == 0) {

		mostra ("Legal, você e o seu irmão tem a mesma idade! Parabéns! ");
	}

	mostra ('A diferença de idade entre vocês são de: ' + diferença + ' anos.');
1 curtida