# Development of a validation tool

**URL:** <https://discuss.jsonapi.org/t/development-of-a-validation-tool/416>\
**Category:** Uncategorized\
**Created:** [April 3, 2016, 11:35am UTC](https://discuss.jsonapi.org/t/development-of-a-validation-tool/416 "2016-04-03T11:35:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![yves](https://avatars.discourse-cdn.com/v4/letter/y/9e8a1a/32.png) [@yves](https://discuss.jsonapi.org/u/yves)\
**Post date:** [April 3, 2016, 11:35am UTC](https://discuss.jsonapi.org/t/development-of-a-validation-tool/416/1 "2016-04-03T11:35:34Z")

</div>

Hi,

To check if a json is a valid one against the jsonapi specifications, we can use the json schema provided on the [jsonapi.org](http://jsonapi.org) site but there are a lot of rules it can’t validate.  
I have created a tool which let to perform a stronger validation (check the full-linkage condition for example). The UI is available here : [https://jsonapi-spec-validator-ui.herokuapp.com/](https://jsonapi-spec-validator-ui.herokuapp.com/)

This UI is only a light client of a REST API which is doing all the validation work.  
The architecture is the following : ReactJS UI + nodejs (hapi) API + nodejs (Should extension) lib to check the json validity.

That is a work-in-progress project, I would be pleased to have your opinion on this project.  
I think it must be obvious I’m not a very good front-developer and I’m not an English native so any help is welcomed.

I don’t have yet open-sourced this project but if there are some interest I could do that with some work.  
I hope that could help some people.

---

<div class="post-metadata">

**Author:** ![dgeb](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.jsonapi.org/dgeb/32/17_2.png) [@dgeb](https://discuss.jsonapi.org/u/dgeb)\
**Post date:** [April 4, 2016, 10:08am UTC](https://discuss.jsonapi.org/t/development-of-a-validation-tool/416/2 "2016-04-04T10:08:26Z")

</div>

This looks really great, @yves! Thanks so much for putting this out there. If you’re willing to open source it, I’m sure others would help refine it.

---

<div class="post-metadata">

**Author:** ![yves](https://avatars.discourse-cdn.com/v4/letter/y/9e8a1a/32.png) [@yves](https://discuss.jsonapi.org/u/yves)\
**Post date:** [May 5, 2016, 2:17pm UTC](https://discuss.jsonapi.org/t/development-of-a-validation-tool/416/3 "2016-05-05T14:17:37Z")

</div>

Hi,

I have open-sourced the code of the validation library and the UI.  
All the links :

- to test : [https://jsonapi-spec-validator-ui.herokuapp.com/](https://jsonapi-spec-validator-ui.herokuapp.com/)
- the library : [https://github.com/YvesPasteur/jsonapi-checker-lib](https://github.com/YvesPasteur/jsonapi-checker-lib)
- the UI : [https://github.com/YvesPasteur/jsonapi-checker-ui](https://github.com/YvesPasteur/jsonapi-checker-ui)

The UI is only a proof-of-concept, it could be easily better for someone more skilled than me in this exercice.

The validation library can be completed with some few rules. A lot of the rules which are not checked can not be validated in the same way. I don’t know for the moment how to add them.

If you watch some bug or want to contribute, you’re welcome 🙂

---

<div class="post-metadata">

**Author:** ![steveklabnik](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.jsonapi.org/steveklabnik/32/2_2.png) [@steveklabnik](https://discuss.jsonapi.org/u/steveklabnik)\
**Post date:** [May 5, 2016, 2:46pm UTC](https://discuss.jsonapi.org/t/development-of-a-validation-tool/416/4 "2016-05-05T14:46:40Z")

</div>

Nice! I’m excited to try it out.
