Comments (7)
Yes, you're absolutely right. I did not do this for the sake of simplicity, and also because it is really challenging to interpret these kinds of errors. Especially when you're dealing with multiple levels of oneOf
s and anyOf
s.
I have an open branch that is addressing several open issues regarding error formats (https://github.com/jonasschmidt/ex_json_schema/tree/validation-errors). I will see if it would be easier to include this change in the scope of those changes. Unfortunately, I can't say when this will be ready for a release yet. I've had very little time to work on this project in the past months.
from ex_json_schema.
I understand there is work going on in a separate branch but is it possible to merge a short-term solution to this issue? maybe #23. In my case, there is an anyOf
in the topmost level, which makes the error messages nearly useless
from ex_json_schema.
The API for the new error responses is pretty stable, the only thing missing is a formatter that takes the returned error structs and transforms them into the old {"Error message", "#/path"}
tuples for backward compatibility.
I can release a 0.6.0-pre.1
version on Hex.pm and you can give it a try. Would that help you?
from ex_json_schema.
Sure, no need to make a release, I can directly test the branch. Are the changes on validation-errors
branch?
from ex_json_schema.
Yes. The API changes are mostly documented in the README.
from ex_json_schema.
Thanks, so far from my testing, the errors returned are lot more informative. As it's an internal api, I am using inspect
for formatting now, which is kind of OK for now. Have you thought about how to format anyOf
etc?, I am not sure how it would map to a flat list of {error, path}
tuple
from ex_json_schema.
The final version is released as 0.6.0
now, there are some examples in the README of how to use the error formatting.
from ex_json_schema.
Related Issues (20)
- Needs more validation error details HOT 3
- Improper resolution of referenced subschema HOT 6
- Map.take deprecation HOT 2
- Add contributors with merge rights HOT 1
- Warning messages when running with Elixir 1.9.1 & OTP 22 HOT 2
- Intent to implement: custom string validation HOT 1
- Changelog HOT 2
- IO.inspect in hex package HOT 2
- Examples on usage HOT 3
- Error on extra attributes? HOT 1
- Elixir 1.11 deprecations HOT 1
- Feature request: make enum, properties, propertyNames and additionalProperties (or the actual schema) available for custom errors HOT 4
- Support custom formats for non-string types HOT 5
- I cant see why I'm getting this error
- Any plans to support 2019 and 2020 ? HOT 6
- Issue with oneOf when used in conjunction with pattern HOT 7
- No support for dependentRequired HOT 2
- Make schema domain configurable HOT 1
- Error line number HOT 1
- Handling refs in a schema HOT 3
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 ex_json_schema.