Skip to content
This repository was archived by the owner on Apr 9, 2025. It is now read-only.

Commit fba29f5

Browse files
committed
Amends after code review
1 parent 19b6c73 commit fba29f5

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

src/useFormHandler.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { DEFAULT_FIELD_VALUE } from './constants';
12
import { ModifiedValues, TriggerValidation, Validations, FormHandler, ResetField, ResetForm, InitControl, SetError, ClearErrors, SetValue, ClearField, SetDirty, SetTouched, HandleBlur, HandleChange, GetInitValueForControl } from './types';
23
import { FormState, HandleSubmit, Register } from './types';
34
import { reactive, readonly, watch } from 'vue'
@@ -146,7 +147,7 @@ const useFormHandler: FormHandler = ({
146147
.filter(([name]) => formState.dirty[name]))
147148
}
148149

149-
const setValue: SetValue = async (name, value = '') => {
150+
const setValue: SetValue = async (name, value = DEFAULT_FIELD_VALUE) => {
150151
if (!interceptor || await interceptor({ name, value, values, formState, clearErrors, modifiedValues, resetField, resetForm, setError, triggerValidation })) {
151152
values[name] = value
152153
setDirty(name, !isEqual(value, getInitValueForControl(name)))
@@ -158,14 +159,14 @@ const useFormHandler: FormHandler = ({
158159
triggerValidation(name)
159160
}
160161

161-
const handleChange: HandleChange = async (name, value = '') => {
162+
const handleChange: HandleChange = async (name, value = DEFAULT_FIELD_VALUE) => {
162163
await setValue(name, value)
163164
setTouched(name, true)
164165
triggerValidation(name)
165166
}
166167

167168
const clearField: ClearField = async (name) => {
168-
await setValue(name, defaultValues[name] ?? '')
169+
await setValue(name, getDefaultValueForControl(name))
169170
}
170171

171172
const register: Register = (name, options = {}) => {

test/useFormHandler.test.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ describe('Form handler testing', () => {
6666
await sleep()
6767
expect(formState.isValid).toBeFalsy()
6868
clearErrors('field')
69-
expect(formState.errors.field).toStrictEqual({})
69+
expect(formState.errors.field).toBeUndefined()
7070
await sleep()
7171
expect(formState.isValid).toBeTruthy()
7272
})
@@ -120,24 +120,20 @@ describe('Register function testing', () => {
120120
expect(field.isDirty).toBeUndefined()
121121
expect(field.isTouched).toBeUndefined()
122122
expect(field.onClear).toBeUndefined()
123-
expect(field.ref).toBe(null)
124123
expect(field.onChange).toBeDefined()
125124
expect(field.modelValue).toBe(null)
126125
expect(field['onUpdate:modelValue']).toBeDefined()
127126
expect(values.field).toBe(null)
128127
})
129-
it('Specified native field shouldn\'t have custom handlers', () => {
128+
it('Specified native field should have native handlers', () => {
130129
const { register } = useFormHandler();
131130
const field = register('field', { native: true })
132131
expect(field.ref).toBeDefined()
133132
expect(field.onChange).toBeDefined()
134-
expect(field.modelValue).toBeUndefined()
135-
expect(field['onUpdate:modelValue']).toBeUndefined()
136133
})
137134
it('Specified custom field shouldn\'t have native handlers', () => {
138135
const { register } = useFormHandler();
139136
const field = register('field', { native: false })
140-
expect(field.ref).toBeUndefined()
141137
expect(field.onChange).toBeUndefined()
142138
expect(field.modelValue).toBeDefined()
143139
expect(field['onUpdate:modelValue']).toBeDefined()

0 commit comments

Comments
 (0)