```js // @noErrors import { applyAction, deserialize, enhance } from '$app/forms'; ``` ## applyAction Cette action met à jour la propriété `form` de la page courante avec les données correspondantes et met à jour `page.status`. Dans le cas d'une erreur, elle redirige vers la page d'erreur la plus proche.
```dts function applyAction< Success extends Record | undefined, Failure extends Record | undefined >( result: import('@sveltejs/kit').ActionResult< Success, Failure > ): Promise; ```
## deserialize Utilisez cette fonction pour désérialiser la réponse à une soumission de formulaire. Usage: ```js // @errors: 7031 import { deserialize } from '$app/forms'; async function handleSubmit(event) { const response = await fetch('/form?/action', { method: 'POST', body: new FormData(event.target) }); const result = deserialize(await response.text()); // ... } ```
```dts function deserialize< Success extends Record | undefined, Failure extends Record | undefined >( result: string ): import('@sveltejs/kit').ActionResult; ```
## enhance Cette action améliore un élément `
` sans laquelle il ne pourrait pas fonctionner en l'absence de JavaScript. La fonction `submit` est appelée à la soumission avec le `FormData` fourni et l'`action` qui devrait être déclenchée. Si `cancel` est appelée, le formulaire ne sera pas soumis. Vous pouvez utiliser le `controller` d'annulation pour annuler la soumission dans le cas où une autre soumission démarré. Si une fonction est renvoyée, cette fonction est appelée avec la réponse venant du serveur. Si rien n'est renvoyé, le comportement par défaut sera utilisé. Si cette fonction ou sa valeur de retour ne sont pas définies, `enhance` va - par défaut mettre à jour la prop `form` avec les données renvoyées si l'action est sur la même page que le formulaire - mettre à jour `page.status` - réinitialiser l'élément `` et invalider toutes les données en cas de soumission réussie sans réponse de redirection - rediriger dans le cas d'une réponse de redirection - rediriger vers la page d'erreur la plus proche dans le cas d'une erreur inattendue Si vous fournissez une fonction personnalisée avec un callback et souhaitez utiliser le comportement par défaut, invoquez la fonction `update` dans votre callback. Elle accepte un objet d'options - `reset: false` si vous ne voulez pas que les valeurs de l'élément `` soient réinitialisées après une soumission réussie - `invalidateAll: false` si vous ne voulez pas que l'action appelle `invalidateAll` après la soumission
```dts function enhance< Success extends Record | undefined, Failure extends Record | undefined >( form_element: HTMLFormElement, submit?: import('@sveltejs/kit').SubmitFunction< Success, Failure > ): { destroy(): void; }; ```