
Security News
OWASP 2025 Top 10 Adds Software Supply Chain Failures, Ranked Top Community Concern
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.
@evilkiwi/form
Advanced tools
@evilkiwi/form provides Vue 3 Hooks for consuming, validating and managing Forms.
Inspired by vue-hooks-form.
This package is available via NPM:
yarn add @evilkiwi/form
# or
npm install @evilkiwi/form
A simple example app is provided in the examples/simple folder.
<template>
<form @submit.prevent="submit">
<label for="email">Email Address</label>
<input
type="email"
name="email"
id="email"
placeholder="Email Address"
:disabled="loading"
@focus="email.clearError"
v-model="email.value"
/>
<p class="err" v-if="email.error">{{ email.error.message }}</p>
<label for="email">Password</label>
<input
type="password"
name="password"
id="password"
placeholder="Password"
:disabled="loading"
@focus="password.clearError"
v-model="password.value"
/>
<p class="err" v-if="password.error">{{ password.error.message }}</p>
<button type="submit" :disabled="loading">Login</button>
</form>
</template>
<script lang="ts" setup>
import { useForm } from '@evilkiwi/form';
const { useField, handle, loading } = useForm<{
email: string;
password: string;
}>({
defaults: {
email: 'hello@example.com',
},
});
const email = useField('email', {
type: 'email',
required: true,
});
const password = useField('password', {
required: true,
});
const submit = handle(async ({ email, password }) => {
alert(`Email: ${email} Password: ${password}`);
});
</script>
useForm| Option | Default | Type | Description |
|---|---|---|---|
| defaults | {} | Record<string, any> | Optionally provide defaults for the various fields in this object by key -> value pairs. |
| validationMode | submit | 'change'|'submit' | NOT IMPLEMENTED YET. Whether to validate input once submitted |
| Option | Type | Description |
|---|---|---|
useField | Field<unknown> | Documented below. |
handle | (run: values => Promise<void>) => async (e?: Event) => Promise<void> | Registers the asynchronous handler that runs once a form is submitted and successfully validated. |
reset | () => void | Reset the Form to tis default state. |
validate | () => Promise<boolean> | Manually trigger validation and error handling. |
clearErrors | () => void | Clear all errors for all fields. |
loading | Ref<boolean> | Whether the form is currently executing. |
destroy | () => void | Destroy and clean-up the Form handler. Happens automatically during onBeforeUnmount. |
useFieldCurrently the options object provided to useField is inheritted from async-validator and
all options are forwarded as a validation field.
| Option | Type | Description |
|---|---|---|
errors | ValidateError[] | An array of all Errors set against this Field. |
error | ValidateError|null | Optimistically picks one, if any, of the Errors against the field. |
hasError | ComputedRef<boolean> | Whether or not the Field has 1 or more errors. |
setError | (text: string) => void | Manually set the error on this field. |
clearError | () => void | Clears all Errors currently set against this Field. |
value | WritableComputedRef<unknown> | The value for the field, compatible with v-model. |
FAQs
Vue 3 Utility Hook for Form handling and validation
We found that @evilkiwi/form demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.