Submit Flow
Form submit operations execute create or update flows, then resolve feedback and refresh list data when successful.
Runtime order
FluiKitFormapplies computed values.- Built-in field validation runs.
field.validatorregistry validators run.- Field transformers and
transform.requestrun. FluiKitemitsformSubmittedand runsbeforeSubmit.- External
onCreateoronUpdateruns when provided. - Otherwise
executeOperation()runs the resolved handler, provider, or endpoint path. - Feedback status is resolved from the result.
- Successful submit closes the form and reloads the list.
Endpoint submit
TS
export const usersSchema = {
resource: "users",
endpoint: {
create: { url: "/api/users", method: "POST" },
update: { url: "/api/users/:id", method: "PATCH" }
},
form: {
fields: [
{ name: "name", label: "Name", type: "text", required: true },
{ name: "email", label: "Email", type: "email", required: true }
]
}
} as const;Provider submit
TS
export const usersSchema = {
resource: "users",
provider: {
type: "custom",
name: "admin"
},
form: {
fields: [
{ name: "name", type: "text", required: true }
]
}
} as const;TSX
const providers = {
admin: {
create: async ({ values }) => createUser(values),
update: async ({ params, values }) => updateUser(params.id, values)
}
};External submit handlers
When onCreate or onUpdate is passed to FluiKit, the host handler runs instead of VibeFlui's default executeOperation() path for that submit.
TSX
const handleCreateUser = async (values: Record<string, unknown>) => {
return createUser(values);
};
<FluiKit
schema={usersSchema}
onCreate={handleCreateUser}
/>Feedback behavior
If the result resolves to warning or error, the form stays open and VibeFlui emits failed feedback. If the result resolves to success, the form closes and the list reloads.
Common mistakes
- Whole-form
form.validationis not an active runtime validator. Use field-level built-in rules andfield.validator. - External submit handlers replace VibeFlui's default
executeOperation()path for that submit. - Return a clear boolean
statusandcodevalue when the UI should show warning or error feedback.