Altro Gestione degli errori di input non di stringa

OliWan

Utente Bronze
15 Luglio 2022
20
15
0
23
Ciao,

Sto scrivendo uno script di convalida del modulo e uno dei test richiede l'utilizzo della funzione toUpperCase() per modificare l'input dell'utente in maiuscolo. Ecco una sezione del mio codice:
Codice:
let userInput = document.getElementById("inputField").value;
let uppercaseInput = userInput.toUpperCase();

console.log(uppercaseInput);
Il problema che sto riscontrando è che se l'utente lascia vuoto il campo di input, ricevo un errore che indica che toUpperCase() non è una funzione, quindi ho letto questo post di scaler ma non sono riuscito a comprenderlo appieno. Come posso gestire questo problema e garantire che la procedura venga eseguita solo quando viene fornito un input valido?

Grazie per l'aiuto!
 
Semplicissimo, fai un controllo sul valore dell'input, verificando se l'input è vuoto:

Il problema che stai affrontando è causato dal fatto che stai cercando di chiamare il metodo toUpperCase() su una variabile che potrebbe essere null o undefined quando il campo di input è vuoto. Per evitare questo errore, dovresti verificare prima se l'input dell'utente è valido prima di chiamare il metodo toUpperCase().

Ecco come puoi gestire questo problema nel tuo codice:

JavaScript:
let userInput = document.getElementById("inputField").value;

if (userInput.trim() !== "") {
  let uppercaseInput = userInput.toUpperCase();
  console.log(uppercaseInput);
} else {
  console.log("Input non valido");
}

Nel codice sopra, userInput.trim() rimuove gli spazi vuoti dall'input dell'utente e quindi verifichiamo se la stringa risultante non è vuota. Se non è vuota, puoi procedere con la conversione in maiuscolo e la stampa. Altrimenti, stai gestendo il caso in cui l'input non è valido.

In questo modo, eviterai di chiamare toUpperCase() su un input vuoto e gestirai il caso in cui l'utente non ha fornito un input valido.

Spero di esserti stato d'aiuto.