--- title: Creating A Text Field For Integer Only Input When Not Using A Data Source order: 23 layout: page --- [[creating-a-textfield-for-integer-only-input-when-not-using-a-data-source]] = Creating a TextField for integer only input when not using a data source A `TextField` is a component that always has a value of type `String`. By adding a converter to a field, the field will automatically validate that the entered value can be converted and it will provide the converted value using the `getConvertedValue()` method. [source,java] .... final TextField textField = new TextField("Text field"); textField.setConverter(Integer.class); Button submitButton = new Button("Submit value", new ClickListener() { public void buttonClick(ClickEvent event) { String uiValue = textField.getValue(); try { Integer convertedValue = (Integer) textField .getConvertedValue(); Notification.show( "UI value (String): " + uiValue + "
Converted value (Integer): " + convertedValue); } catch (ConversionException e) { Notification.show( "Could not convert value: " + uiValue); } } }); addComponent(new Label("Text field type: " + textField.getType())); addComponent(new Label("Converted text field type: " + textField.getConverter().getModelType())); addComponent(textField); addComponent(submitButton); .... With this example, entering a number and pressing the button causes the value of the `TextField` to be a `String` while the converted value will be an `Integer` representing the same value. If e.g. a letter is entered to the field and the button is pressed, the validation will fail. This causes a notice to be displayed for the field and an exception to be thrown from `getConvertedValue()`.