Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Bean validation: Digits: Number must be within accepted range

If you add @Digits annotation on any number, then the number must be within accepted range.

What are the supported types?
a.   byte,
b.   short,
c.    int,
d.   long,
e.   Byte,
f.     Short,
g.   Integer,
h.   Long,
i.     BigDecimal,
j.     BigInteger,
k.    CharSequence

Note: As per specification Double, float is not supported due to rounding errors. Some providers may provide some approximative support

Where can I apply this annotation?
a.   METHOD,
b.   FIELD,
f.     TYPE_USE

Find the below working application.
package com.sample.model;

import javax.validation.constraints.Digits;

public class Employee {

private int id;

private String name;

* numeric value out of bounds (. expected)
@Digits(integer = 9, fraction = 2)
private double salary;

public Employee(int id, String name, double salary) { = id; = name;
this.salary = salary;

public int getId() {
return id;

public void setId(int id) { = id;

public String getName() {
return name;

public void setName(String name) { = name;

public double getSalary() {
return salary;

public void setSalary(double salary) {
this.salary = salary;

package com.sample.test;

import java.util.Set;

import javax.validation.*;
import javax.validation.ValidatorFactory;

import com.sample.model.Employee;

public class Test {
private static ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
private static Validator validator = validatorFactory.getValidator();

private static void validateBean(Employee emp) {
SetConstraintViolationEmployee>> validationErrors = validator.validate(emp);

if (validationErrors.size() == 0

This post first appeared on Java Tutorial : Blog To Learn Java Programming, please read the originial post: here

Share the post

Bean validation: Digits: Number must be within accepted range


Subscribe to Java Tutorial : Blog To Learn Java Programming

Get updates delivered right to your inbox!

Thank you for your subscription