Utilizzare gli hook di convalida campo per verificare che un campo contenga un valore appropriato. Gli hook di convalida vengono richiamati in momenti predefiniti per verificare che il contenuto del campo sia valido. Se un record contiene campi con valori non validi, non viene eseguito il commit del record sul database fino alla correzione dell'errore.
Il vantaggio che deriva dall'utilizzo di hook per convalidare campi singoli (rispetto all'utilizzo di un hook di convalida azione per convalidare il record intero) consiste nel fatto che all'utente viene notificato immediatamente se il valore campo non è valido.
Gli hook di convalida campo vengono scritti come funzioni che restituiscono un valore stringa. Il valore di ritorno della funzione è considerato un messaggio di errore. Se il valore di ritorno è una stringa vuota, il valore campo è considerato valido.
Nell'esempio che segue, se nel campo vengono immessi meno di 10 caratteri, l'hook di convalida rifiuta la voce, imponendo all'utente di immettere almeno 10 caratteri.
Function word_Validation(fieldname) ' fieldname As String ' word_Validation As String ' entityDef = puzzle_words Dim val val = GetFieldValue(fieldname).GetValue() If Len(val) < 10 Then word_Validation = "All words must be at least 10 letters long" End If End Function
sub word_Validation { my($fieldname) = @_; # $fieldname as string scalar # $result as string scalar # $entityDef = puzzle_words my($value); $value = $entity->GetFieldValue($fieldname)->GetValue(); if (length ($value) < 10) { $result = "All words must be at least 10 letters long"; } return $result; }