Files
WRNexusJS/examples/basic-app/app/pages/server-actions.wrn
T
Clintchiz 586a6db8ff
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s
release: WRNexusJS 0.8.0
2026-08-02 23:18:51 +05:30

28 lines
857 B
Plaintext

import { CreateUserSchema } from "../schemas/create-user";
page ServerActions {
seo {
title = "Typed server actions"
description = "Schema validation, CSRF, invalidation and progressive enhancement"
}
action createUser using CreateUserSchema {
invalidate("users")
return { id: crypto.randomUUID(), name: input.name, email: input.email }
}
view {
<main>
<h1>Typed server actions</h1>
<p>The form works with or without JavaScript.</p>
<form @submit="createUser">
<label for="action-name">Name</label>
<input id="action-name" name="name" autocomplete="name" required />
<label for="action-email">Email</label>
<input id="action-email" name="email" type="email" autocomplete="email" required />
<button type="submit">Create user</button>
</form>
</main>
}
}