An unobtrusive form serializer and validator that works by following standards.
Vanilla Form is a form serialization and validation component built upon
standards. To obtain the serialized form data the only thing you need to
do is to declare your form controls (native or custom!) following the
standard input interfaces: Using name
, value
, htmlFor
and role
properties.
Wire onSubmit
prop to Form
component to get the serialized data from
the form. Pass validations
to display and catch errors in the form.
Use onChange
(or not) to get realtime data updates.
import Form from 'react-vanilla-form'
<Form onSubmit={data => console.log(data)}>
<label htmlFor="name">
Name
</label>
<input type="text" name="name" />
<br />
<label htmlFor="age">
Age
</label>
<input type="number" name="age" />
<br />
<label htmlFor="address">
Address
</label>
<input type="text" name="address" />
<br />
<button>Submit!</button>
</Form>
Also, Vanilla Form is lightweight. It weighs only 2.7k gzipped. The only direct depedencies are 4 or 5 Ramda functions which you can treeshake on your bundler to slim it up (but you should consider using Ramda 😃).
See the full documentation and live examples at http://derek.github.stavis.me/react-vanilla-form.