Author: hardy.ferentschik
Date: 2009-07-28 06:09:26 -0400 (Tue, 28 Jul 2009)
New Revision: 17211
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java
Log:
HV-192 Validator now removed trailing zeros.
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java
===================================================================
---
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java 2009-07-28
09:51:03 UTC (rev 17210)
+++
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java 2009-07-28
10:09:26 UTC (rev 17211)
@@ -52,7 +52,7 @@
bigNum = ( BigDecimal ) num;
}
else {
- bigNum = new BigDecimal( num.toString() );
+ bigNum = new BigDecimal( num.toString() ).stripTrailingZeros();
}
int integerPartLength = bigNum.precision() - bigNum.scale();
Modified:
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java
===================================================================
---
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java 2009-07-28
09:51:03 UTC (rev 17210)
+++
validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java 2009-07-28
10:09:26 UTC (rev 17211)
@@ -105,4 +105,21 @@
DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
constraint.initialize( p );
}
+
+ @Test
+ public void testTrailingZerosAreTrimmed() {
+ AnnotationDescriptor<Digits> descriptor = new AnnotationDescriptor<Digits>(
Digits.class );
+ descriptor.setValue( "integer", 12 );
+ descriptor.setValue( "fraction", 3 );
+ descriptor.setValue( "message", "{validator.digits}" );
+ Digits p = AnnotationFactory.create( descriptor );
+
+ DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
+ constraint.initialize( p );
+
+ assertTrue( constraint.isValid( 0.001d, null ) );
+ assertTrue( constraint.isValid( 0.00100d, null ) );
+ assertFalse( constraint.isValid( 0.0001d, null ) );
+ }
+
}
Show replies by date