Devi solo convalidare l'input degli utenti su un determinato evento. Può essere ad es. su ogni tasto (KeyPressEvent), quando il TextBox perde lo stato attivo (ValueChangeEvent), su un pulsante, premere (ClickEvent) e così via. Implementa un gestore di eventi, ad es. KeyPressHandler e registra la tua implementazione con il TextBox. Quindi nel gestore si convalida il valore del TextBox e se contiene qualcosa di diverso dai numeri, si ritorna dal metodo, probabilmente in qualche modo dicendo all'utente che il valore non era valido.
Qualcosa di simile a questo:
final TextBox textBox = new TextBox();
textBox.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
String input = textBox.getText();
if (!input.matches("[0-9]*")) {
// show some error
return;
}
// do your thang
}
});
Se si dispone di un sacco di convalida da fare, probabilmente si desidera introdurre un quadro di riferimento di convalida, che consente di risparmiare da un sacco di reinventare la ruota. Ci possono essere alternative migliori al giorno d'oggi, ma personalmente sono stato abbastanza soddisfatto con lo GWT-VL validation framwork.
A proposito, questo è roba piuttosto di base e dovresti essere in grado di risolvere questo problema con un po 'di googling. – toman
Qualsiasi motivo particolare per non utilizzare GWT ValueBox, DoubleBox, IntegerBox o LongBox con tutte le convalide, la formattazione e il supporto I18N !!! –
SSR
eseguirà il backspace con questo .. e la navigazione con il tasto Tab ..? – knocker