Skip to content

Commit dc88774

Browse files
committed
feat(Form): add resetFieldsValidation and setFieldError methods * 2
1 parent 6e22100 commit dc88774

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

.changeset/funny-oranges-hope.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
'@cube-dev/ui-kit': minor
33
---
44

5-
Add `clearFieldsValidation()` and `setFieldError()` methods to form to replace deprecated `setFields()`.
5+
Add `resetFieldsValidation()` and `setFieldError()` methods to form to replace deprecated `setFields()`.

src/components/form/Form/submit.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ describe('<Form />', () => {
292292

293293
// Clear all validation errors
294294
await act(async () => {
295-
formInstance.clearFieldsValidation();
295+
formInstance.resetFieldsValidation();
296296
});
297297

298298
await waitFor(() => {
@@ -308,7 +308,7 @@ describe('<Form />', () => {
308308

309309
// Clear validation error for specific field
310310
await act(async () => {
311-
formInstance.clearFieldsValidation(['test']);
311+
formInstance.resetFieldsValidation(['test']);
312312
});
313313

314314
await waitFor(() => {

src/components/form/Form/use-form.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ export class CubeFormInstance<
423423
this.forceReRender();
424424
}
425425

426-
clearFieldsValidation(names?: (keyof T & string)[], skipRender?: boolean) {
426+
resetFieldsValidation(names?: (keyof T & string)[], skipRender?: boolean) {
427427
(names || Object.keys(this.fields)).forEach((name) => {
428428
const field = this.getFieldInstance(name);
429429

@@ -439,10 +439,14 @@ export class CubeFormInstance<
439439
}
440440
}
441441

442-
setFieldError(name: keyof T & string, error: string, skipRender?: boolean) {
442+
setFieldError(
443+
name: keyof T & string,
444+
error: ReactNode,
445+
skipRender?: boolean,
446+
) {
443447
const field = this.getFieldInstance(name);
444448

445-
if (!field || !error.trim()) return;
449+
if (!field || !error) return;
446450

447451
field.errors = [error];
448452
field.status = 'invalid';

0 commit comments

Comments
 (0)