Global error
In this example, we return a global error if the password is incorrect.
const schema = z.object({
email: z.string().min(1).email(),
password: z.string().min(1),
})
const mutation = applySchema(schema)(async (values) => {
if (values.password !== 'supersafe') {
throw new Error('Wrong email or password')
}
return values
})
export const action = async ({ request }: Route.ActionArgs) =>
formAction({ request, schema, mutation })
export default () => (
<SchemaForm schema={schema}>
{({ Field, Errors, Button }) => (
<>
<Field name="email" autoFocus />
<Field name="password" type="password" />
<Errors />
<Button />
</>
)}
</SchemaForm>
)