Abilitazione della formattazione per i campi dei numeri di telefono
È possibile abilitare la formattazione per i campi dei numeri di telefono per controllare i dati durante l'esecuzione di una ricerca per i clienti utilizzando il numero di telefono come criterio.
Procedura
- Creare un programma di formattazione per implementare la formattazione personalizzata per i numeri di telefono e aggiungerla alla directory
extn/utils, doveextnsi associa a<runtime>/extensions/. Il percorso della directory è obbligatorio durante la registrazione. Il seguente frammento di codice definisce un programma di formattazione:wsc/webpages/
Qui, il metodo del programma di formattazione viene utilizzato per estendere l'interfacciascDefine(["scbase/loader!dojo/_base/declare" , "scbase/loader!sc/plat/dojo/app/IFormatter" ], function(dDeclare, scIFormatter ){ var scPhoneNoFormatterType = dDeclare("extn.utils.PhoneNoFormatterType", [scIFormatter],{ format: function(type, input) { var val = this.removeNonDigitCharacters(input); if(val.length != 9 ) return val; return "(" + val.substring(0,2) + ")" + val.substring(2,4)+"-"+val.substring(4,9); }, deformat: function(type, input) { return this.removeNonDigitCharacters(input); }, removeNonDigitCharacters: function(input) { return input.replace(/[^0-9]/g,""); } }); return scPhoneNoFormatterType; });IFormatter. - Registrare il programma di formattazione rispetto a un "tipo di programma di formattazione" in un file caricato quando l'applicazione viene inizializzata. Ad esempio, in
container.jspo nell'estensione della home page. È necessario assicurarsi che la registrazione venga eseguita prima che il programma di formattazione venga utilizzato nelle schermate.Il "tipo di formattazione" è il nome del programma di formattazione personalizzato. In questo esempio,"phoneNoFormatter"è il "tipo di formattazione". Il seguente frammento di codice di esempio mostra come registrare il programma di formattazione.scDefine([ ... "scbase/loader!sc/plat/dojo/app/FormatterUtils", "scbase/loader!extn/utils/PhoneNoFormatterType"], function(.... ,scFormatterUtils, scPhoneNoFormatterType) {.. scFormatterUtils.registerFormatter("phoneNoFormatter", new scPhoneNoFormatterType(), 1);... }); - Utilizzando l' Extensibility Workbench, aggiungete l'attributo formatter name per le Caselle di testo e le Etichette dati nella scheda Altri del pannello Proprietà. In questo esempio, il nome del programma di formattazione è
phoneNoFormatter, che è il tipo di programma di formattazione registrato nel passo 2. - Creare e distribuire il file WAR, riavviare il server e cancellare la cache del browser.