Comments (4)
Hello,
could you please also post your java code?
from json-schema.
The custom FormatValidator will look something like this:
import java.util.Optional;
import org.everit.json.schema.FormatValidator;
public class EvenCharNumValidator implements FormatValidator {
@Override
public Optional<String> validate(final String subject) {
if (subject.length() % 2 == 0) {
System.out.println(subject);
return Optional.empty();
} else {
System.out.println(subject);
return Optional.of(String.format("the length of srtring [%s] is odd", subject));
}
}
}
The schema loader configuration:
File schemaFile = new File("/Users/UserName/Downloads/schema.json");
BufferedReader schemaBR = new BufferedReader(new FileReader(schemaFile));
StringBuffer schemaStrbuf = new StringBuffer();
String schemaCurrentLine;
while ((schemaCurrentLine = schemaBR.readLine()) != null)
{
schemaStrbuf.append(schemaCurrentLine);
}
File dataFile = new File("/Users/UserName/Downloads/data.json");
BufferedReader dataBR = new BufferedReader(new FileReader(dataFile));
StringBuffer dataStrbuf = new StringBuffer();
String dataCurrentLine;
while ((dataCurrentLine = dataBR.readLine()) != null)
{
dataStrbuf.append(dataCurrentLine);
}
JSONObject jsonSchema = new JSONObject(new JSONTokener(schemaStrbuf.toString()));
SchemaLoader schemaLoader = SchemaLoader.builder()
.schemaJson(jsonSchema) // rawSchema is the JSON representation of the schema utilizing the "evenlength" non-standard format
.addFormatValidator("evenlength", new EvenCharNumValidator()) // the EvenCharNumValidator gets bound to the "evenlength" keyword
.build();
Schema schema = schemaLoader.load().build(); // the schema is created using the above created configuration
System.out.println(schema);
JSONObject jsonSubject = new JSONObject(new JSONTokener(dataStrbuf.toString()));
try
{
schema.validate(jsonSubject); // the document validation happens here
}
catch(ValidationException ve)
{
System.out.println(ve.getLocalizedMessage());
}
from json-schema.
@erosb any update?
from json-schema.
Hello @meikandamoorthi , I fixed it yesterday in 9830d29 .
from json-schema.
Related Issues (20)
- How to stabilize output of Schema#toString() HOT 1
- Valid number with step(scale) HOT 4
- $ref limitation in complex schemas HOT 2
- Invalid date-time fails validation HOT 5
- oneOf required is not working correctly HOT 4
- How to validate if the schema itself is valid? HOT 7
- ObjectSchema.getRegexpPatternProperties method is not public. HOT 1
- CombinedSchema.isSynthetic is not public. HOT 2
- Issue with 'minLength' and 'maxLength' property HOT 3
- $ref resolution issue when referencing an external schema HOT 3
- Performance and functional comparison HOT 1
- define a custom property HOT 1
- Support custom keywords and corresponding verification logic
- Incorrect org.json Version in Release 1.14.3
- Two CombinedSchema don't equals after loading the same json schema HOT 9
- Support for specs 2020-12 and 2019-09 HOT 2
- Is unevaluatedProperties keyword supported? HOT 2
- "required" validation for the referenced schema not working HOT 1
- StringSchema.hashCode inconsistent across executions HOT 3
- "default" is not working inside $ref
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-schema.