If you use markup, HTML alone is not very expressive and is missing some fairly common use-cases, and the JSX snippets of existing UI frameworks aren't very portable. JSON-Schema is more expressive in terms of describing the shape of the result, but json-schema alone is usually not enough information to build a user-friendly form.
I've created a few versions of this DSL over the years but finally decided to try and take it a bit further.
My hope is that people like this and build implementations of this spec for a variety of frontend and traditional frameworks.
I know this will not cover every application's use case and it's not meant to supplant general application forms, but I especially think this will be useful for cases where you want your users to be able to create forms.
Feedback very welcome, especially if you have ideas on how to make the markup itself be more readable!
Do you have any plans for describing some basic constraints like a number range or a field should only accept dates after X. Im asking because as a markup for a form builder its very nice but its missing the next level of validation constraints.
? A date after today
[date min="2026-10-13"]
? A number between 10 and 100 that's a multiple of 5
[number min=10 max=100 step=5]
I didn't want to pack everything on the homepage example, but there's more examples in the form builder.Also see: