Skip to content

Requested feature: Applying subschemas conditionally #1515

@JonasHorvli

Description

@JonasHorvli

Prerequisites

Description

First of all: thanks for this lib, it has made making forms so much easier and are currently using this in our application as better option then a simple code editor.

Draft 7 allows "if", "then" and "else" keywords, but it does not seem to be supported in the form.
We would like certain properties to have a different pattern or only be shown depending on the certain value of the first property. An example would be a postal code is different depending on the country you choose.

Documenation on JSON schema conditionals:
https://json-schema.org/understanding-json-schema/reference/conditionals.html

rfjs example in demo (Postal code is missing in form):
https://rjsf-team.github.io/react-jsonschema-form/#eyJmb3JtRGF0YSI6eyJmaXJzdE5hbWUiOiJDaHVjayIsImxhc3ROYW1lIjoiTm9ycmlzIiwiYWdlIjo3NSwiYmlvIjoiUm91bmRob3VzZSBraWNraW5nIGFzc2VzIHNpbmNlIDE5NDAiLCJwYXNzd29yZCI6Im5vbmVlZCIsImNoZWNrIjpmYWxzZSwiY291bnRyeSI6IkNhbmFkYSJ9LCJzY2hlbWEiOnsidGl0bGUiOiJNeSBGb3JtIiwidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsic3RyZWV0X2FkZHJlc3MiOnsidHlwZSI6InN0cmluZyJ9LCJjb3VudHJ5Ijp7ImVudW0iOlsiVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIiwiQ2FuYWRhIl19fSwiaWYiOnsicHJvcGVydGllcyI6eyJjb3VudHJ5Ijp7ImNvbnN0IjoiVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIn19fSwidGhlbiI6eyJwcm9wZXJ0aWVzIjp7InBvc3RhbF9jb2RlIjp7InBhdHRlcm4iOiJbMC05XXs1fSgtWzAtOV17NH0pPyJ9fX0sImVsc2UiOnsicHJvcGVydGllcyI6eyJwb3N0YWxfY29kZSI6eyJwYXR0ZXJuIjoiW0EtWl1bMC05XVtBLVpdIFswLTldW0EtWl1bMC05XSJ9fX19LCJ1aVNjaGVtYSI6eyJmaXJzdE5hbWUiOnsidWk6YXV0b2ZvY3VzIjp0cnVlLCJ1aTplbXB0eVZhbHVlIjoiIn0sImFnZSI6eyJ1aTp3aWRnZXQiOiJ1cGRvd24iLCJ1aTp0aXRsZSI6IkFnZSBvZiBwZXJzb24iLCJ1aTpkZXNjcmlwdGlvbiI6IihlYXJ0aGlhbiB5ZWFyKSJ9LCJiaW8iOnsidWk6d2lkZ2V0IjoidGV4dGFyZWEifSwicGFzc3dvcmQiOnsidWk6d2lkZ2V0IjoicGFzc3dvcmQiLCJ1aTpoZWxwIjoiSGludDogTWFrZSBpdCBzdHJvbmchIn0sImRhdGUiOnsidWk6d2lkZ2V0IjoiYWx0LWRhdGV0aW1lIn0sInRlbGVwaG9uZSI6eyJ1aTpvcHRpb25zIjp7ImlucHV0VHlwZSI6InRlbCJ9fX0sImxpdmVTZXR0aW5ncyI6eyJ2YWxpZGF0ZSI6dHJ1ZSwiZGlzYWJsZSI6ZmFsc2UsIm9taXRFeHRyYURhdGEiOmZhbHNlLCJsaXZlT21pdCI6ZmFsc2V9fQ==

Thank you in advance!
Jonas

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions