sveltekit-superforms
Advanced tools
Changelog
[2.0.0] - 2024-02-11
superForm.fields
was a rarely used and lesser version of formFieldProxy
, switch to that instead.fields
options when setting tainted status.message
parameter in onError
event, use $message
directly instead.sveltekit-superforms/adapters
and use superValidate(zod(schema))
instead of superValidate(schema)
. If type parameters are used, it must now be wrapped with Infer
for schemas.superForm
options now follow SvelteKit more closely: resetForm: true
and taintedMessage: false
are default now. Add define: { SUPERFORMS_LEGACY: true }
in vite.config.ts
to keep the old behavior.superValidateSync
is renamed to defaults
. It returns default values for the schema, and does no validation anymore. Use +page.ts
if initial validation is required, as described on the SPA page.arrayProxy
: fieldErrors
renamed to valueErrors
.superformClient
adapter. The input for the validator functions can now be undefined
.superValidate
is called with just the schema, the default values aren't validated (i.e. no side-effects for default values) unless errors
is set to true
.required
in their constraints anymore.undefined
anymore, must be string
. (Set automatically by default now).flashMessage.onError.message
option in superForm
renamed to flashMessage.onError.flashMessage
.constraints
are now optional in the SuperValidated
type, and are returned only when loading data, not posting. This is only relevant if you modify constraints before calling superForm
.defaultValidators
option, 'clear'
can now be set directly on validators
instead.emptyIfZero
setting from numberProxy
and intProxy
.validate()
called with no arguments is renamed to validateForm()
and can take two extra options, update
and schema
.dataType: 'json'
set.superForm.isTainted(path?)
and superForm.isTainted($tainted)
for better tainted fields check.withFiles
when returning in form actions: return withFiles({ form })
.File
and FileList
.superForm
object (previously only the form
store was accepted), with an extra taint
option to prevent tainting.taintedMessage
can now be an async function resolving to true
if navigation should be allowed, despite the form being tainted.onChange
event to superForm
, that returns a list of modified fields whenever $form
is updated.'zero'
to the empty option of numberProxy
and intProxy
. Also added initiallyEmptyIfZero
option, to show the placeholder for numeric inputs, which would otherwise display 0
.