Bạn chỉ cần xác thực người dùng nhập vào một sự kiện nhất định. Nó có thể là ví dụ trên mọi phím tắt (KeyPressEvent), khi TextBox mất tiêu điểm (ValueChangeEvent), trên một nút bấm (ClickEvent), v.v. Bạn triển khai trình xử lý sự kiện, ví dụ: KeyPressHandler và đăng ký triển khai của bạn với TextBox. Sau đó, trong trình xử lý của bạn, bạn xác nhận giá trị TextBox và nếu nó chứa một cái gì đó khác với số, bạn chỉ cần trả về từ phương thức, có thể bằng cách nào đó nói cho người dùng biết rằng giá trị không hợp lệ.
Something như thế này:
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
}
});
Nếu bạn có rất nhiều xác nhận để làm, có thể bạn muốn giới thiệu một số khuôn khổ xác nhận đó giúp bạn tiết kiệm từ rất nhiều reinventing the wheel. Có thể có lựa chọn thay thế tốt hơn ngày nay nhưng cá nhân tôi đã khá hài lòng với GWT-VL validation framwork.
Bằng cách này, đây là nội dung khá cơ bản và bạn sẽ có thể giải quyết vấn đề này bằng một chút googling. – toman
Bất kỳ lý do cụ thể nào để không sử dụng GWT ValueBox, DoubleBox, IntegerBox hoặc LongBox với tất cả xác thực, định dạng và hỗ trợ I18N !!! –
SSR
sẽ backspace làm việc với điều này .. và điều hướng bằng cách sử dụng phím Tab ..? – knocker