Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Validation in textfield
Hi,
we are begining in Vaadin and we are found a problem validating numbers.
A field is limited by bbdd to 10 digits.
First, if I define a variable in a dto as:
@Digits(integer = 9, fraction = 0)
@Max(999999999L)
private Integer kilometro;
when I add this component to layout it let introduce up to 10 digits instead of 9. Why? is there other way?
The other thing is: if I introduce this number as 3.125, the point is counted as a digit, so the component doesn't let you really 9 digits, but one less.
Any help?
thanks
Hi David,
I think Vaadin don't by default interpert @Digits into any rules on client side. The validation is done on the server side using the bean validation library of your choice.
When the validation actually happens depends on your Vaadin version or the add-ons you use. With Vaadin 8 or with Viritin add-on you can make the validation happen practically instantly (my suggestion for great UX).
Maybe the text field is just exactly 10 chars long by default? You can also limit the client side input elements limit with setMaxLength method, but you'd probably need to adjust that value dynamically whether your user has typed in the dot or not.
cheers,
matti
Hi, Matti
Let me think about.
Thank you so much for your help