Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
Cómo agregar un mensaje de error personalizado en Express

Creé una aplicación de servidor donde puede servir páginas dinámicas según la ruta. Simplemente, esto comprueba si el número de ruta proporcionado es un número primo o no... Por ejemplo, localhost:3000/isprime/7 -------> El parámetro de entrada 7 es un número primo localhost:3000/isprime/36 -------> El parámetro de entrada 36 no es un número primo

El problema es, ¿cómo puedo crear un controlador de errores para mostrar un mensaje de error si se ingresan letras en la dirección en lugar de dígitos? Por ejemplo, localhost:3000/isprime/four

Tengo un conocimiento muy limitado del manejo de errores en el expreso. Cualquier ayuda sería muy apreciada.

Aquí está mi código hasta ahora,

 app.get('/isprime/:inputNumber(\\d+)', function(request, response) { let num =parseInt(request.params.inputNumber); function isPrime(num) { for(var i = 2; i < num; i++) if(num % i === 0) return false; return num > 1; } if(isPrime(num)) { var p = '<span style="color:blue;">IS a prime number.</span>'; } else { var p = '<span style="color:red;">IS NOT a prime number.</span>'; } let html = ''; html += '<h1>Prime Number Check</h1>'; html += '<p>The input parameter <b> ' + num +'</b>....'+ p+ '</p>'; response.send(html); });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Intente usar isNaN(), isNaN() da un valor booleano si el número es válido; de lo contrario, devuelve falso,

Aquí hay un ejemplo para su código

 app.get('/isprime/:inputNumber(\\d+)', function(request, response) { let num = parseInt(request.params.inputNumber); if(isNaN(num)) { response.send("<h1>Invalid number</h1>"); return; } function isPrime(num) { for (var i = 2; i < num; i++) if (num % i === 0) return false; return num > 1; } if (isPrime(num)) { var p = '<span style="color:blue;">IS a prime number.</span>'; } else { var p = '<span style="color:red;">IS NOT a prime number.</span>'; } let html = ''; html += '<h1>Prime Number Check</h1>'; html += '<p>The input parameter <b> ' + num + '</b>....' + p + '</p>'; response.send(html); });
about 4 years ago · Juan Pablo Isaza Relatório

0

El (\\d+) que está poniendo al final de la definición de su ruta hace que solo los parámetros con 1 o más dígitos coincidan con la ruta.

Si elimina eso, y luego isNaN() para probar si el valor del parámetro se analiza como un número entero, podrá seleccionar las solicitudes que desea y enviar una respuesta a las solicitudes con valores de parámetro que son solo letras.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda