Skip to main content

Form layout

import {
  AutoForm,
  AutoField,
  AutoFields,
  ErrorsField,
  SubmitField,
} from 'uniforms-antd';
import { ZodBridge } from 'uniforms-bridge-zod';
import { z } from 'zod';

const userSchema = z.object({
  firstName: z.string(),
  lastName: z.string(),
  username: z.string(),
  email: z.string().email(),
});

const schema = new ZodBridge({ schema: userSchema });

export default function App() {
  return (
    <AutoForm
      schema={schema}
      onSubmit={model => window.alert(JSON.stringify(model))}
    >
      <div
        style={{
          display: 'flex',
          gap: '10px',
        }}
      >
        <AutoField name="firstName" />
        <AutoField name="lastName" />
      </div>
      <AutoFields fields={['username', 'email']} />
      <ErrorsField />
      <SubmitField />
    </AutoForm>
  );
}