Skip to content

Commit 466099a

Browse files
committed
Merge branch 'master' of https://github.com/networknt/json-schema-validator into fix/#138-date-validation
2 parents 3471475 + ccb1851 commit 466099a

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
99

1010
### Changed
1111

12+
## 1.0.9 - 2019-05-21
13+
14+
### Added
15+
16+
### Changed
17+
18+
- fixes #147 Fails to validate MIN and MAX when number type is converted to BigInteger. Thanks @jiachen1120
19+
1220
## 1.0.8 - 2019-05-17
1321

1422
### Added

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<modelVersion>4.0.0</modelVersion>
2020
<groupId>com.networknt</groupId>
2121
<artifactId>json-schema-validator</artifactId>
22-
<version>1.0.8</version>
22+
<version>1.0.9</version>
2323
<packaging>bundle</packaging>
2424
<description>A json schema validator that supports draft v4</description>
2525
<url>https://github.com/networknt/json-schema-validator</url>

src/main/java/com/networknt/schema/MaximumValidator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ public String thresholdValue() {
7171
@Override
7272
public boolean crossesThreshold(JsonNode node) {
7373
long val = node.asLong();
74-
return node.isBigInteger() || lm < val || (excludeEqual && lm <= val);
74+
if(node.isBigInteger()) {
75+
//node.isBigInteger is not trustable, the type BigInteger doesn't mean it is a big number.
76+
return node.bigIntegerValue().compareTo(new BigInteger(String.valueOf(Long.MAX_VALUE))) > 0;
77+
}
78+
return lm < val || (excludeEqual && lm <= val);
7579
}
7680

7781
@Override

src/main/java/com/networknt/schema/MinimumValidator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ public String thresholdValue() {
7474
@Override
7575
public boolean crossesThreshold(JsonNode node) {
7676
long val = node.asLong();
77-
return node.isBigInteger() || lmin > val || (excluded && lmin >= val);
77+
if(node.isBigInteger()) {
78+
//node.isBigInteger is not trustable, the type BigInteger doesn't mean it is a big number.
79+
return node.bigIntegerValue().compareTo(new BigInteger(String.valueOf(Long.MIN_VALUE))) < 0;
80+
}
81+
return lmin > val || (excluded && lmin >= val);
7882
}
7983

8084
@Override

0 commit comments

Comments
 (0)