La classe ValueParamValidator gestisce la verifica del parametro Value nell'azione HowTo . Questa lezione descrive in dettaglio come creare il codice per dimostrare le funzioni di verifica e convalida del parametro del punto di estensione com.ibm.carma.ui.parameterValidators .
Informazioni su questa attività
Per questo esempio, di seguito sono riportati un elenco di possibili input dall'utente e i messaggi informativi visualizzati.
- Quando l'utente immette uno 0, viene visualizzato un messaggio informativo
- Quando l'utente immette 1, viene visualizzato un messaggio di avvertenza
- Quando l'utente immette un valore pari o superiore a 2, viene visualizzato un messaggio di errore
- Quando l'utente immette un carattere non numerico, l'immissione non sarà consentita
Procedura
- Nella vista Esplora package , aprire la classe
ValueParamValidator selezionando com.ibm.carma.plugin.howto > src > com.ibm.carma.plugin.howto.action e facendo doppio clic sulla classe per aprirla nell'editor.
- Implementare prima il metodo
verifyInput . Questo metodo controlla eventuali caratteri non validi nel testo di input. Per questo esempio, questo metodo accetta solo caratteri numerici. Il seguente pseudocodice lo dimostra:if the length of input is greater than 0
then allow input if the input characters are 0-9
else
do not allow input
Utilizzare il seguente codice di esempio per implementare il metodo
verifyInput :
/*Accept only numeric characters as valid. */
public void verifyInput(ParameterValidationEvent event)
{
if(event.text.length() > 0)
event.allowInput = (event.text.matches("[0-9]"));
}
- Successivamente, si sovrascriverà il metodo
validateParameter per visualizzare i metodi appropriati in base ai valori immessi, come descritto in precedenza. Il seguente pseudo codice lo dimostra:
if input = 0
return an informational message
else if input = 1
return a warning message
else
return an error message
Utilizzare il seguente codice di esempio per sovrascrivere questo metodo:
/* Returns an informational message if 0 is entered,
* Returns a warning message if 1 is entered,
* Returns an error message if a numeric value greater than 1 is entered
*/
public ValidationResult validateParameter(ParameterValidationevent event)
{
ValidationResult result = new ValidationResult();
if(event.text.contains("0"))
{
//Display informational message.
result.severity = ValidationResult.INFO;
result.message = "You entered a 0!";
}
else if(event.text.contains("1"))
{
//Display a warning message
result.severity = ValidationResult.WARNING;
result.message = "Values greater than 1 will result in an error!";
}
else
{
//Display an error message.
result.severity = ValidationResult.ERROR;
result.message = "Value is too great, enter a lower value.";
}
return result;
}
- Salvare l'origine ed eseguire il debug degli errori.