/svelte-superforms

Making Svelte forms a pleasure to use!

Primary LanguageTypeScriptMIT LicenseMIT

Superforms logo

Superforms 💥

Making SvelteKit forms a pleasure to use!

https://superforms.rocks/
Discord   â€¢   API   â€¢   FAQ   â€¢   npm   â€¢   Issues

Feature list

  • Server- and client-side validation with your favorite validation libraries, and more to come: 💥 Arktype 💥 Joi 💥 TypeBox 💥 Valibot 💥 VineJS 💥 Yup 💥 Zod 💥
  • Seamless merging of PageData and ActionData - Forget about which one to use and how, just focus on your form data.
  • Auto-centering and focusing on invalid form fields.
  • Tainted form detection, prevents the user from losing data if navigating away from an unsaved form. Or use snapshots to save the form state.
  • Automatically coerces the FormData into correct types.
  • For advanced data structures, forget about the limitations of FormData - Use nested data structures transparently.
  • Generates default form values from validation schemas.
  • Handles multiple forms on the same page.
  • Works both on the server and with single-page applications (SPA)!
  • Proxy objects for handling data conversions to string and back again.
  • Realtime client-side validation for the best possible UX.
  • Create loading spinners easily with three auto-updating timers, based on human perception research.
  • Hook into a number of events for full control over the validation data and the ActionResult, with a possibility to cancel the update at every step.
  • Complete customization with a huge list of options.
  • No JavaScript required as default, but full support for progressive enhancement.
  • Comes with a Super Debugging Svelte Component: SuperDebug.

Get started

Follow the Get started tutorial on the website to get a hands-on introduction to Superforms: https://superforms.rocks/get-started

You can also watch this excellent introduction video to see what's possible: https://www.youtube.com/watch?v=MiKzH3kcVfs

Help & support

  • If you're using Superforms in non-profit circumstances, support is completely free; a star on Github is more than enough to show your appreciation. Join the #free-support channel on Discord and ask away!
  • If you're making or aiming to make money on your project, a donation proportional to the current profit of the project or the company you work for, will give you a month of commercial support. Donate with one of the options on the website, then ask in the #commercial-support channel on Discord.

Contributing

General feedback, feature requests, bug reports, PR:s, are very welcome as a Github issue or on the Discord server!

Donating

If you appreciate the hard work behind Superforms, please support open source software with a donation.

"Sponsor me on Github" "Buy Me A Coffee" "Support me on Ko-fi"