Basic Form
In this page, you will learn how to create a form by using Ez Form. We will start with a very popular form: Sign In.
Create Form
Firstly, we need to add an interface for our form. A Sign In form should have the following properties:
export interface SignInFormValues {
username: string; // Or email: string;
password: string;
}Next, we need to create a form component. We can use useForm to create a form with the following properties:
import { useForm } from "@ez-kits/form-react";
export interface SignInFormValues {
username: string; // Or email: string;
password: string;
}
export function SignInForm() {
const signInForm = useForm<SignInFormValues>({
// form options go here
});
return <signInForm.Form>
<form {...signInForm.getFormProps()}>
{/* form fields */}
</form>
</signInForm.Form>
}Now, our form is ready. Let's add fields to our form.
Adding Fields
FormInstance includes a Field component. We can use this component to add fields to our form.
import { useForm, BindingFieldInput } from "@ez-kits/form-react";
export interface SignInFormValues {
username: string; // Or email: string;
password: string;
}
export function SignInForm() {
const signInForm = useForm<SignInFormValues>({
// form options go here
});
return <signInForm.Form>
<form {...signInForm.getFormProps()}>
<signInForm.Field name="username">
<label>
Username:
<BindingFieldInput>
<input />
</BindingFieldInput>
</label>
</signInForm.Field>
<signInForm.Field name="password">
<label>
Password:
<BindingFieldInput>
<input type="password" />
</BindingFieldInput>
</label>
</signInForm.Field>
</form>
</signInForm.Form>
}Submitting the form
FormInstance includes a submit method. We can use this method to submit the form. Or you can use button type submit to submit the form.
To retrieve the form values after submitting, we can listen to the onSubmit event.
import { useForm, BindingFieldInput } from "@ez-kits/form-react";
export interface SignInFormValues {
username: string; // Or email: string;
password: string;
}
export function SignInForm() {
const signInForm = useForm<SignInFormValues>({
onSubmit(values) {
console.log(values);
}
});
return <signInForm.Form>
<form {...signInForm.getFormProps()}>
<signInForm.Field name="username">
<label>
Username:
<BindingFieldInput>
<input />
</BindingFieldInput>
</label>
</signInForm.Field>
<signInForm.Field name="password">
<label>
Password:
<BindingFieldInput>
<input type="password" />
</BindingFieldInput>
</label>
</signInForm.Field>
<button type="submit">
Submit
</button>
</form>
</signInForm.Form>
}Demo
This is final result. Fill in the form and submit. Then, the console will show the form values.
