This is working solution, from @Joe B example:
<script setup lang="ts">
import { Form, Field, ErrorMessage } from 'vee-validate';
import * as yup from 'yup';
const schema = yup.object({
accept: yup.bool(),
});
function onSubmit(values) {
console.log(JSON.stringify(values, null, 2));
}
</script>
<template>
<div id="app">
<Form :validation-schema="schema" @submit="onSubmit" v-slot="{ values }">
<Field
name="accept"
type="checkbox"
v-bind="field"
:value="true"
:unchecked-value="false"
/>
<ErrorMessage name="accept" />
<button>Submit</button>
<p>Values</p>
<pre>{{ values }}</pre>
</Form>
</div>
</template>