Convalida dell'input dell'utente in campi

È possibile utilizzare un hook convalida per verificare che le informazioni immesse da un utente in un campo siano valide. Se le informazioni non sono valide, all'utente verranno richieste informazioni valide.
Quando viene definito un nuovo hook BASIC o Perl per un campo o un'azione, la sintassi di richiamo per tale hook viene aggiunta alla finestra dell'editor di script. La sintassi di richiamo non può essere modificata.

Poiché gli hook possono influenzare il funzionamento di un campo, è necessario progettare e verificare gli hook attentamente prima di renderli disponibili agli utenti. Ad esempio, questo esempio dell'hook di input dell'utente rende il campo user_number un campo obbligatorio, a prescindere dall'impostazione nella griglia Funzionamenti.

  1. Nello spazio di lavoro, espandere Tipi di record e il tipo di record; quindi fare doppio clic su Campi.
  2. Nella griglia Campi, fare clic sulla cella Convalida del campo che si desidera modificare e fare clic sulla freccia rivolta verso il basso per visualizzare un elenco di hook disponibili. Fare clic su SCRIPTS > BASIC o SCRIPTS > PERL. Se è abilitata la modalità di modifica istantanea, Designer avvia l'editor di script. Se è disabilitata tale modalità, fare doppio clic sulla cella Convalida del campo per aprire l'editor di script.

    BASIC e Perl possiedono i propri editor di script. Designer indica il tipo di editor nella barra dei titoli della finestra Designer. Verificare che si stia utilizzando l'editor corretto prima di modificare il codice.

  3. Immettere il codice per convalidare l'input dell'utente dopo queste righe (in Perl, le righe che iniziano con #):
    REM Return a non-empty string explaining why the
    REM field's current value is not permitted.
    REM Or, if it is valid, return an empty string value.
    REM Example: 
    REM Dim value_info
    REM Set value_info = GetFieldValue(fieldname)
    REM If Len(value_info.GetValue()) < 10 Then
    REM resolution_date_Validation = "Must be at least 10 chars long"
    REM End If
    Ad esempio, se il nome del campo è "user_number" e il relativo tipo è INT, il codice verifica che gli utenti abbiano immesso un valore compreso tra 1 e 100:
    REM Return a non-empty string explaining why the field's current 
    value is not permitted
    REM Or, if it is valid, return an empty string value.
    
    value = GetFieldValue(fieldname).Get Value()
    if Not IsNumeric(value)
      user_number_Validation="Field does not contain a number."
    Else If (value < 1) or (value > 100) then
      user_number_Validation="User number must be between 1 and 100."
    end if
  4. Fare clic su Hook > Compila. Lo script viene compilato e tutti gli errori di sintassi vengono identificati.
  5. Correggere tutti gli errori e fare clic su Hook > Compila o chiudere l'editor di Script.

Feedback