Releases: ciscoheat/sveltekit-superforms
Releases · ciscoheat/sveltekit-superforms
v1.5.0
Fixed
- A boolean schema field didn't accept a boolean
false
value when posted, it was coerced astrue
. - A SuperDebug truncated string showed only the whole string length, not the truncated.
Added
- Added
customValidity
option tosuperForm
, which will use the browser's validation message reporting for validation errors. More information and an example here. - Added
emptyIfZero
option tonumberProxy
andintProxy
.
v1.4.0
Fixed
- When multiple forms exists with the same id, the warning is now displayed on
superForm
instantiation, not just when new form data is received. - Fixed client-side validation for
Date
schema fields. (#232) numberProxy
andintProxy
now works with theempty
option. (#232)- Fixed timer state in combination with navigation events.
Added
- Added
delimiter
option tonumberProxy
.
v1.3.0
Fixed
- Fixed persisting form data when component used data from
$page
in combination withonDestroy
. (#164, thank you to everyone in that thread!) - Fixed exception message when the
dataType
option isn't set to'json'
and the schema contains a nested object. (#225) - Superforms are now ignoring normal SvelteKit form actions when they are posted. (#230)
Added
- More configuration options, customizable styling, automatic promise and store support for SuperDebug, thanks to Josue!
v1.2.0
Added
- The
scrollToError
option can now take the same parameters as scrollIntoView, which makes it work for nested scrollbars. - Added
setError
signature, to more conveniently set a form-level error:setError(form, 'Form-level error message')
Fixed
- If the
resetForm
option was enabled, the form was reset even iffail
was returned.
v1.1.3
v1.1.2
v1.1.1
v1.1.0
Added
- Support for
Set
in schemas, usingz.set()
.
Fixed
- Nested array and object-level errors are now all cleared on a successful client-side validation. (#196)
- Boolean fields with a default value of
true
always returnedtrue
when validating. - Fixed infinite deep type instantiation on
message
. (#143, thanks to Alisson Cavalcante Agiani) - Fixed typesVersions map that caused incorrect auto-import paths (#191, thanks to CokaKoala)
v1.0.0
Changed
- It's not possible to send arbitrary data to
superForm
anymore, aSuperValidated
structure is required, which is returned fromsuperValidate
on the server andsuperValidateSync
, so in most cases this is not a problem. message/setMessage
andsetError
can only set a status in the range400-599
.- As with a Zod schema with
refine/superRefine/transform
, array and object validation now forces the whole Zod schema to be validated client-side, not just per field. - The
Validation
type is now calledSuperValidated
. StringPath
andStringPathLeaves
are renamed toFormPath
andFormPathLeaves
.
Removed
- The
valid
option is removed frommessage
, any status >= 400 will return a fail. - The
$valid
,$empty
and$firstError
stores are removed from the client, they weren't that useful.allErrors
can be used instead, together with the$posted
store. empty
is removed fromSuperForm
.options.noErrors
is removed. Useoptions.errors
instead.- The virtually unused
meta
has been removed. Use the Zod schema directly instead for reflection.
Fixed
- When a redirect response is received, form timers will not reset until after navigation or
onDestroy
. - Fixed prototype mismatch for Zod schemas from different modules.
- SuperDebug color scheme updated. (Thanks to gregorymcmillan)
- Fixed flash messages being displayed early. This update also means that at least sveltekit-flash-message 1.0.0 is required to work together with Superforms.
- Form data was reset to its previous state when
error
was thrown. - Form-level errors can be added with
setError
, using an empty string as path. - Explicitly setting a form
id
for multiple forms is not required anymore when usinguse:enhance
, unless the forms are using the same schema. An id can be specified in the options or in a hidden form field called__superform_id
. FieldPath
is gone - the following methods are now using a string accessor liketags[2].id
instead of an array like['tags', 2, 'id']
:validate
,setError
and all proxy methods (ending withProxy
). This also applies to generic components.- The signature for
allErrors
andfirstError
has changed to{ path: string; messages: string[] }
. - The literal
"any"
is now an allowed value instep
for constraints. - Multiple
regex
andstep
are now allowed on a schema field. A warning will be emitted by default, that can be turned off. - The signature for
options.resetForm
has changed toboolean | () => boolean
(it was async before). - The undocumented
defaultData
is now calleddefaultValues
. - Added
[aria-invalid="true"]
toerrorSelector
option. options.resetForm
now works withoutuse:enhance
!- Fixed deprecation notices for
use:enhance
.
Added
- New Superforms domain! https://superforms.rocks
- Added
superValidateSync
, useful in components for SPA:s. - Added
defaultValues
, which takes a schema and returns the default values for it. - Support for
ZodPipeline
. - Arrays and objects in the schema can now have errors! They can be found at
field._errors
in the$errors
store. validate
will now validate the whole form when it's called with no arguments.- Support for
passthrough()
on a schema,superValidate
will allow extra keys in that case. - Added a
posted
store, a boolean which is false if the form hasn't been posted during its current lifetime. reset
now has an additionaldata
option that can be used to re-populate the form with data, andid
to set a different form id.intProxy
,numberProxy
,dateProxy
andstringProxy
now have anempty
option, so empty values can be set tonull
orundefined
.
v1.0.0-rc.4
Read the announcement and migration guide here.
Changed
- It's not possible to send arbitrary data to
superForm
anymore, aSuperValidated
structure is required, which is returned fromsuperValidate
on the server andsuperValidateSync
, so in most cases this is not a problem. - Reverted that
message/setMessage
andsetError
will throw an error if status is lower than 400. Using a range error type check instead.
Fixed
- Fixed flash messages being displayed early. This update also means that at least sveltekit-flash-message 1.0.0-rc.3 is required to work together with Superforms.
- Form data was reset to its previous state when
error
was thrown. - Form-level errors can be added with
setError
, using an empty string as path.