JSON Schema is easily one of my favorite specifications. You can use it to describe your fields and their validation constraints. This information is enough to generate forms that are able to validate themselves. In the past I used the predecessor of react-json-editor successfully and it saved me from a lot of coding.
This is the direction I would look into. There could be some gotchas, but if it fits your use case, it could be nice. If you describe your API using a definition such as OpenAPI (formerly Swagger), you can generate forms with very little code. That's particularly handy for CRMs and such. And best of all your backend and frontend will stay in sync as the backend changes somehow.