Comments (2)
You would need to use the allOf
property. Unfortunately, this is not available in this library... yet. I will be looking at introducing it when i have a bit more time but always open to contributions to the source code.
from json-schema-yup-transform.
Unless I am wrong, I believe the #45 doesn't solve this particular issue. It is not about having multiple conditions that should pass in order for a validation to kick in, but it's about having multiple conditions for validating multiple properties. E.g. you may want to make residencyYears
required if country
is "Australia", and also make the otherOccupation
required if occupation
is "Other". How will you do it if you can only have one if
key and one then
key and they are not related in any way. If these keys were encapsulated in a parent array of objects then it would be possible. Something like this:
{
...
conditions: [
{
if: [
{
properties: {
country: {
const: "Australia",
},
},
},
],
then: [
{
properties: {
residencyYears: {
type: "number",
minimum: 12,
},
},
required: ["residencyYears"],
},
],
},
{
if: [
{
properties: {
occupation: {
const: "Other",
},
},
},
],
then: [
{
properties: {
otherOccupation: {
type: "string",
},
},
required: ["otherOccupation"],
},
],
},
];
}
from json-schema-yup-transform.
Related Issues (20)
- Custom error message not working for strings HOT 3
- Conditionally requiring fields using `oneOf` HOT 1
- Conditional in object. HOT 2
- Retrieve the Yup schema HOT 1
- Invalid date-time format regex HOT 1
- Not required enum throws validation error on "" and undefined. HOT 1
- Support of internalization HOT 1
- if/then validation help HOT 2
- IF else then test HOT 3
- Second properties in else conditional HOT 1
- Errors extending schemas with yup >= 0.30 HOT 7
- cannot parse type: ["string", "null"] and type:["object", "null"] HOT 2
- nullable: true (OAS3 Support?) HOT 3
- Issue with enums HOT 3
- JSON to Build a Schema & Config with Nested Arrays of Objects?
- Error on import of json-schema-yup-transform HOT 3
- required?.join is not a function HOT 6
- allOf property HOT 2
- How to have a conditional validate on multiple values
- Bug: Incorrectly transformed schema with "if" and "contains"
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-yup-transform.