lunedì 15 luglio 2013

SharePoint 2013 - Validare un form attraverso l’operatore XOR

Devo gestire un form (lista, ma si applica anche in caso di raccolta documenti) con due campi, in cui la compilazione è esclusiva: quando si compila uno non deve essere compilato l’altro, se si compilano entrambi è un errore, così come lasciarli vuoti entrambi.

Dal punto di vista dell’algebra booleana, questo comportamento è descritto dall’operatore XOR, in cui il campo vuoto rappresenta falso  ed il campo pieno vero.




Campo 1
Campo 2
Risultato XOR
Vuoto
Vuoto
Falso
Vuoto
Pieno
Vero
Pieno
Vuoto
Vero
Pieno
Pieno
Falso

Una situazione di questo tipo non si può modellare né gestendo l’opzione di campo obbligatorio, né con le validazioni di colonna, ma è necessario ricorrere alle formule di validazione dell’elemento.
Dalla pagina delle impostazioni della raccolta o lista, cliccando sulla voce “Impostazioni di convalida” è possibile impostare le formule di validazione per l’intero elemento che si va ad inserire o modificare.


Stano ma vero, sebbene presente in Excel 2013 , SharePoint non mette a disposizione l’operatore XOR, infatti, impostando la formula XOR([Campo1]<>"",[Campo2]<>"") si ottiene un errore di sintassi,



ed è quindi necessario provvedere alla sua creazione sfruttando gli altri operatori logici: AND, OR, NOT, utilizzando, ad esempio, il seguente schema:

(Condizione1 OR Condizione2 ) AND (NOT (Condizione1 AND Condizione2))

la cui formula, per SharePoint, è

  AND(OR([Campo1]<>"";[Campo2]<>"");(NOT(AND([Campo1]<>"";[Campo2]<>""))))  

Il test delle 4 combinazioni ci conferma il corretto funzionamento della formula. Gli elementi potranno essere quindi inseriti esclusivamente quando solo uno dei due campi è valorizzato.



Nessun commento:

Posta un commento