Skip to content

Commit 3fdb19b

Browse files
committed
ignore fields without name
1 parent faa58ab commit 3fdb19b

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/useForm.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ export class FormStore {
206206
};
207207

208208
return isAllFieldsTouched
209-
? this.getFieldEntities().every(testTouched)
210-
: this.getFieldEntities().some(testTouched);
209+
? this.getFieldEntities(true).every(testTouched)
210+
: this.getFieldEntities(true).some(testTouched);
211211
};
212212

213213
private isFieldTouched = (name: NamePath) => this.isFieldsTouched([name]);

tests/index.test.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ describe('Basic', () => {
6666
>
6767
<InfoField name="username" />
6868
<InfoField name="password" />
69+
<Field>{() => null}</Field>
6970
</Form>
7071
</div>,
7172
);
@@ -78,6 +79,12 @@ describe('Basic', () => {
7879
expect(form.isFieldsTouched(['username', 'password'])).toBeTruthy();
7980
expect(form.isFieldsTouched(true)).toBeFalsy();
8081
expect(form.isFieldsTouched(['username', 'password'], true)).toBeFalsy();
82+
83+
await changeValue(getField(wrapper, 1), 'Light');
84+
expect(form.isFieldsTouched()).toBeTruthy();
85+
expect(form.isFieldsTouched(['username', 'password'])).toBeTruthy();
86+
expect(form.isFieldsTouched(true)).toBeTruthy();
87+
expect(form.isFieldsTouched(['username', 'password'], true)).toBeTruthy();
8188
});
8289

8390
describe('reset form', () => {

0 commit comments

Comments
 (0)