# Nascondere campi con dati sensibili

**URL:** <https://community.instantdeveloper.com/t/nascondere-campi-con-dati-sensibili/786>\
**Category:** Tips & Tricks\
**Tags:** esempi, idc\
**Created:** [31 Luglio 2025, 7:30am UTC](https://community.instantdeveloper.com/t/nascondere-campi-con-dati-sensibili/786 "2025-07-31T07:30:05Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![paolo.giannelli](https://community.instantdeveloper.com/user_avatar/community.instantdeveloper.com/paolo.giannelli/32/12_2.png) [@paolo.giannelli](https://community.instantdeveloper.com/u/paolo.giannelli)\
**Post date:** [31 Luglio 2025, 7:30am UTC](https://community.instantdeveloper.com/t/nascondere-campi-con-dati-sensibili/786/1 "2025-07-31T07:30:05Z")

</div>

Se abbiamo una lista di dati a video che contiene dei dati sensibili che vanno visualizzati a seconda del ruolo utente che li guarda possiamo nascondere il campo che li contiene mettendo un bel `visible = false` nell’evento _onRowComposition_ della datamap che carica i dati e il gioco è fatto.

Questo però non ci protegge dai furbetti che aprono gli strumenti di sviluppo del browser e vanno a sbirciare i nostri dati che hanno `style="display: none;` ma che sono comunque presenti.

Il trucco per proteggere i nostri dati sensibili consiste nell’impostare la proprietà innerText del campo che li visualizza con degli asterischi in modo che il testo sia sostituito con “\*\*\*\*\*”. Questo lo faremo sempre nell’evento _OnRowComposition_ della datamap di caricamento dei dati.

Per facilitarvi la vita ho predisposto il progetto pubblico _nascondere-dati-sensibili_ nella [Console di Instant Developer Cloud](https://console.instantdevelopercloud.com/CCC/).

Per gestire la cosa nell’esempio ho aggiunto alla datamap _DatiSensibiliDM_ il campo unbound _hiddenDatoSensibile_ di tipo boolean con defaukt value false. poi nell’evento _onRowComposition_:

```auto
$textDatoSensibile.visible = !row.hiddenDatoSensibile;
// Se nascondo il campo cambio il testo con ***** in modo che non si veda nemmeno dagli strumenti di sviluppo
if (row.hiddenDatoSensibile) {
  $textDatoSensibile.innerText = " *****";
}

```

Nella videata è presente il bottone btnNascondiVisualizza che al click ha questo codice:

```auto
// Nascondo il dato sensibile
if ($btnNascondiVisualizza.icon === "flash-off") {
  $btnNascondiVisualizza.icon = "flash";
  $btnNascondiVisualizza.label = "Visualizza";
  view.setDatoSensibile(true);
}
else {
  // Visualizzo il dato sensibile
  $btnNascondiVisualizza.icon = "flash-off";
  $btnNascondiVisualizza.label = "Nascondi";
  view.setDatoSensibile(false);
}

```

Questo il codice del metodo _setDatoSensibile_:

```auto
App.Home.prototype.setDatoSensibile = function(nascondi)
{
  for (let i = 0; i < $DatiSensibiliDM.rows.length; i++) {
    $DatiSensibiliDM.rows[i].hiddenDatoSensibile = nascondi;
  }
};

```

Quando nascondo i dati sensibili negli strumenti di sviluppo i dati nascosti sono così:

 ![image](https://community.instantdeveloper.com/uploads/default/original/1X/a523526c52657d3b8ea1c43a16e1447f7f00200d.png)

Spero vi possa essere utile.
