From 7332f9f1daf946248920c60c50ee1dcd3f966d6b Mon Sep 17 00:00:00 2001 From: Ruslan Farkhutdinov Date: Tue, 6 Jan 2026 15:31:30 +0200 Subject: [PATCH 1/3] Validator: Update validationCallback value parameter type (T1317117) --- packages/devextreme/js/common.d.ts | 16 ++++++++-------- packages/devextreme/ts/dx.all.d.ts | 14 ++++++++------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/devextreme/js/common.d.ts b/packages/devextreme/js/common.d.ts index 7d8a176c4123..e2a681bfd08f 100644 --- a/packages/devextreme/js/common.d.ts +++ b/packages/devextreme/js/common.d.ts @@ -29,7 +29,7 @@ export type ApplyValueMode = 'instantly' | 'useButtons'; * @namespace DevExpress.common * @type object */ -export type AsyncRule = { +export type AsyncRule = { /** * @docid * @default false @@ -58,7 +58,7 @@ export type AsyncRule = { * @docid * @type_function_return Promise * @type_function_param1 options:object - * @type_function_param1_field value:string|number + * @type_function_param1_field value:unknown * @type_function_param1_field rule:object * @type_function_param1_field validator:object * @type_function_param1_field data:object @@ -66,7 +66,7 @@ export type AsyncRule = { * @type_function_param1_field formItem:object * @public */ - validationCallback?: ((options: ValidationCallbackData) => PromiseLike); + validationCallback?: ((options: ValidationCallbackData) => PromiseLike); }; /** @@ -132,7 +132,7 @@ export type ComparisonOperator = '!=' | '!==' | '<' | '<=' | '==' | '===' | '>' * @type object * @namespace DevExpress.common */ -export type CustomRule = { +export type CustomRule = { /** * @docid * @default false @@ -160,7 +160,7 @@ export type CustomRule = { /** * @docid * @type_function_param1 options:object - * @type_function_param1_field value:string|number + * @type_function_param1_field value:unknown * @type_function_param1_field rule:object * @type_function_param1_field validator:object * @type_function_param1_field data:object @@ -168,7 +168,7 @@ export type CustomRule = { * @type_function_param1_field formItem:object * @public */ - validationCallback?: ((options: ValidationCallbackData) => boolean); + validationCallback?: ((options: ValidationCallbackData) => boolean); }; /** @@ -815,8 +815,8 @@ export type TooltipShowMode = 'always' | 'onHover'; * @public * @namespace DevExpress.common */ -export type ValidationCallbackData = { - value?: any; +export type ValidationCallbackData = { + value?: TValue; rule: any; validator: any; data?: any; diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index 4a7bc64f3a1c..f27e3c27c49d 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -1168,7 +1168,7 @@ declare module DevExpress.common { /** * [descr:AsyncRule] */ - export type AsyncRule = { + export type AsyncRule = { /** * [descr:AsyncRule.ignoreEmptyValue] */ @@ -1188,7 +1188,9 @@ declare module DevExpress.common { /** * [descr:AsyncRule.validationCallback] */ - validationCallback?: (options: ValidationCallbackData) => PromiseLike; + validationCallback?: ( + options: ValidationCallbackData + ) => PromiseLike; }; export type ButtonStyle = 'text' | 'outlined' | 'contained'; export type ButtonType = 'danger' | 'default' | 'normal' | 'success'; @@ -1229,7 +1231,7 @@ declare module DevExpress.common { /** * [descr:CustomRule] */ - export type CustomRule = { + export type CustomRule = { /** * [descr:CustomRule.ignoreEmptyValue] */ @@ -1249,7 +1251,7 @@ declare module DevExpress.common { /** * [descr:CustomRule.validationCallback] */ - validationCallback?: (options: ValidationCallbackData) => boolean; + validationCallback?: (options: ValidationCallbackData) => boolean; }; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. @@ -1724,8 +1726,8 @@ declare module DevExpress.common { | 'dxTextBox'; export type ToolbarItemLocation = 'after' | 'before' | 'center'; export type TooltipShowMode = 'always' | 'onHover'; - export type ValidationCallbackData = { - value?: any; + export type ValidationCallbackData = { + value?: TValue; rule: any; validator: any; data?: any; From 1f86d6daef13b2c4be0fbbf99fc002b3d4c31556 Mon Sep 17 00:00:00 2001 From: Ruslan Farkhutdinov Date: Thu, 8 Jan 2026 18:26:16 +0200 Subject: [PATCH 2/3] Validator: Generate wrappers --- .../src/ui/card-view/nested/async-rule-dxi.ts | 4 ++-- .../src/ui/card-view/nested/custom-rule-dxi.ts | 4 ++-- .../src/ui/card-view/nested/validation-rule-dxi.ts | 4 ++-- .../src/ui/data-grid/nested/async-rule-dxi.ts | 4 ++-- .../src/ui/data-grid/nested/custom-rule-dxi.ts | 4 ++-- .../src/ui/data-grid/nested/validation-rule-dxi.ts | 4 ++-- .../devextreme-angular/src/ui/form/nested/async-rule-dxi.ts | 4 ++-- .../src/ui/form/nested/custom-rule-dxi.ts | 4 ++-- .../src/ui/form/nested/validation-rule-dxi.ts | 4 ++-- .../src/ui/scheduler/nested/async-rule-dxi.ts | 4 ++-- .../src/ui/scheduler/nested/custom-rule-dxi.ts | 4 ++-- .../src/ui/scheduler/nested/validation-rule-dxi.ts | 4 ++-- .../src/ui/tree-list/nested/async-rule-dxi.ts | 4 ++-- .../src/ui/tree-list/nested/custom-rule-dxi.ts | 4 ++-- .../src/ui/tree-list/nested/validation-rule-dxi.ts | 4 ++-- .../src/ui/validator/nested/async-rule-dxi.ts | 4 ++-- .../src/ui/validator/nested/custom-rule-dxi.ts | 4 ++-- .../src/ui/validator/nested/validation-rule-dxi.ts | 4 ++-- packages/devextreme-react/src/card-view.ts | 6 +++--- packages/devextreme-react/src/data-grid.ts | 6 +++--- packages/devextreme-react/src/form.ts | 6 +++--- packages/devextreme-react/src/scheduler.ts | 6 +++--- packages/devextreme-react/src/tree-list.ts | 6 +++--- packages/devextreme-react/src/validator.ts | 6 +++--- packages/devextreme-vue/src/card-view.ts | 6 +++--- packages/devextreme-vue/src/data-grid.ts | 6 +++--- packages/devextreme-vue/src/form.ts | 6 +++--- packages/devextreme-vue/src/scheduler.ts | 6 +++--- packages/devextreme-vue/src/tree-list.ts | 6 +++--- packages/devextreme-vue/src/validator.ts | 6 +++--- 30 files changed, 72 insertions(+), 72 deletions(-) diff --git a/packages/devextreme-angular/src/ui/card-view/nested/async-rule-dxi.ts b/packages/devextreme-angular/src/ui/card-view/nested/async-rule-dxi.ts index dc3f6264612f..c15e0ba8e463 100644 --- a/packages/devextreme-angular/src/ui/card-view/nested/async-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/card-view/nested/async-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiCardViewAsyncRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/card-view/nested/custom-rule-dxi.ts b/packages/devextreme-angular/src/ui/card-view/nested/custom-rule-dxi.ts index 9daa43a07bb2..bed686bdfc37 100644 --- a/packages/devextreme-angular/src/ui/card-view/nested/custom-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/card-view/nested/custom-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiCardViewCustomRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/card-view/nested/validation-rule-dxi.ts b/packages/devextreme-angular/src/ui/card-view/nested/validation-rule-dxi.ts index b2ee2b0894f6..91f01749ad95 100644 --- a/packages/devextreme-angular/src/ui/card-view/nested/validation-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/card-view/nested/validation-rule-dxi.ts @@ -94,10 +94,10 @@ export class DxiCardViewValidationRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/data-grid/nested/async-rule-dxi.ts b/packages/devextreme-angular/src/ui/data-grid/nested/async-rule-dxi.ts index d989a9137f40..ce447b3506b4 100644 --- a/packages/devextreme-angular/src/ui/data-grid/nested/async-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/data-grid/nested/async-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiDataGridAsyncRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/data-grid/nested/custom-rule-dxi.ts b/packages/devextreme-angular/src/ui/data-grid/nested/custom-rule-dxi.ts index 7ac8006d2202..457ea1072946 100644 --- a/packages/devextreme-angular/src/ui/data-grid/nested/custom-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/data-grid/nested/custom-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiDataGridCustomRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/data-grid/nested/validation-rule-dxi.ts b/packages/devextreme-angular/src/ui/data-grid/nested/validation-rule-dxi.ts index bd00be3f1976..d3cbad699b3d 100644 --- a/packages/devextreme-angular/src/ui/data-grid/nested/validation-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/data-grid/nested/validation-rule-dxi.ts @@ -94,10 +94,10 @@ export class DxiDataGridValidationRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/form/nested/async-rule-dxi.ts b/packages/devextreme-angular/src/ui/form/nested/async-rule-dxi.ts index 171ea03357b2..3074a9622ea3 100644 --- a/packages/devextreme-angular/src/ui/form/nested/async-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/form/nested/async-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiFormAsyncRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/form/nested/custom-rule-dxi.ts b/packages/devextreme-angular/src/ui/form/nested/custom-rule-dxi.ts index bcc0078ff120..654f712ca079 100644 --- a/packages/devextreme-angular/src/ui/form/nested/custom-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/form/nested/custom-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiFormCustomRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/form/nested/validation-rule-dxi.ts b/packages/devextreme-angular/src/ui/form/nested/validation-rule-dxi.ts index beec413534e8..9aca7dd04c21 100644 --- a/packages/devextreme-angular/src/ui/form/nested/validation-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/form/nested/validation-rule-dxi.ts @@ -94,10 +94,10 @@ export class DxiFormValidationRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/scheduler/nested/async-rule-dxi.ts b/packages/devextreme-angular/src/ui/scheduler/nested/async-rule-dxi.ts index 13f5b942527a..439c7bd5ddc3 100644 --- a/packages/devextreme-angular/src/ui/scheduler/nested/async-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/scheduler/nested/async-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiSchedulerAsyncRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/scheduler/nested/custom-rule-dxi.ts b/packages/devextreme-angular/src/ui/scheduler/nested/custom-rule-dxi.ts index b678fe6c1017..0f96c4b432ab 100644 --- a/packages/devextreme-angular/src/ui/scheduler/nested/custom-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/scheduler/nested/custom-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiSchedulerCustomRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/scheduler/nested/validation-rule-dxi.ts b/packages/devextreme-angular/src/ui/scheduler/nested/validation-rule-dxi.ts index 5eb9e017ef09..30e70a0a0ec1 100644 --- a/packages/devextreme-angular/src/ui/scheduler/nested/validation-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/scheduler/nested/validation-rule-dxi.ts @@ -94,10 +94,10 @@ export class DxiSchedulerValidationRuleComponent extends CollectionNestedOption } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/tree-list/nested/async-rule-dxi.ts b/packages/devextreme-angular/src/ui/tree-list/nested/async-rule-dxi.ts index ab3881617768..52d59842ddfd 100644 --- a/packages/devextreme-angular/src/ui/tree-list/nested/async-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/tree-list/nested/async-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiTreeListAsyncRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/tree-list/nested/custom-rule-dxi.ts b/packages/devextreme-angular/src/ui/tree-list/nested/custom-rule-dxi.ts index a818667bc673..f227aca19255 100644 --- a/packages/devextreme-angular/src/ui/tree-list/nested/custom-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/tree-list/nested/custom-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiTreeListCustomRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/tree-list/nested/validation-rule-dxi.ts b/packages/devextreme-angular/src/ui/tree-list/nested/validation-rule-dxi.ts index 91f9e2e0296d..5119c0ab22c6 100644 --- a/packages/devextreme-angular/src/ui/tree-list/nested/validation-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/tree-list/nested/validation-rule-dxi.ts @@ -94,10 +94,10 @@ export class DxiTreeListValidationRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/validator/nested/async-rule-dxi.ts b/packages/devextreme-angular/src/ui/validator/nested/async-rule-dxi.ts index 548c67fe5caf..559ac16e3eb1 100644 --- a/packages/devextreme-angular/src/ui/validator/nested/async-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/validator/nested/async-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiValidatorAsyncRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/validator/nested/custom-rule-dxi.ts b/packages/devextreme-angular/src/ui/validator/nested/custom-rule-dxi.ts index 2160b06bc493..45a1337f86ef 100644 --- a/packages/devextreme-angular/src/ui/validator/nested/custom-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/validator/nested/custom-rule-dxi.ts @@ -70,10 +70,10 @@ export class DxiValidatorCustomRuleComponent extends CollectionNestedOption { } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-angular/src/ui/validator/nested/validation-rule-dxi.ts b/packages/devextreme-angular/src/ui/validator/nested/validation-rule-dxi.ts index e41604da4d18..e1e6524d03cb 100644 --- a/packages/devextreme-angular/src/ui/validator/nested/validation-rule-dxi.ts +++ b/packages/devextreme-angular/src/ui/validator/nested/validation-rule-dxi.ts @@ -94,10 +94,10 @@ export class DxiValidatorValidationRuleComponent extends CollectionNestedOption } @Input() - get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean) { + get validationCallback(): ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean) { return this._getOption('validationCallback'); } - set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)) { + set validationCallback(value: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)) { this._setOption('validationCallback', value); } diff --git a/packages/devextreme-react/src/card-view.ts b/packages/devextreme-react/src/card-view.ts index 9b09a7734199..3f34ceb24fca 100644 --- a/packages/devextreme-react/src/card-view.ts +++ b/packages/devextreme-react/src/card-view.ts @@ -217,7 +217,7 @@ type IAsyncRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any); }> const _componentAsyncRule = (props: IAsyncRuleProps) => { return React.createElement(NestedOption, { @@ -933,7 +933,7 @@ type ICustomRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); }> const _componentCustomRule = (props: ICustomRuleProps) => { return React.createElement(NestedOption, { @@ -2818,7 +2818,7 @@ type IValidationRuleProps = React.PropsWithChildren<{ max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; diff --git a/packages/devextreme-react/src/data-grid.ts b/packages/devextreme-react/src/data-grid.ts index dffb2a8ec387..c6236a7c60c3 100644 --- a/packages/devextreme-react/src/data-grid.ts +++ b/packages/devextreme-react/src/data-grid.ts @@ -286,7 +286,7 @@ type IAsyncRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any); }> const _componentAsyncRule = (props: IAsyncRuleProps) => { return React.createElement(NestedOption, { @@ -936,7 +936,7 @@ type ICustomRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); }> const _componentCustomRule = (props: ICustomRuleProps) => { return React.createElement(NestedOption, { @@ -3296,7 +3296,7 @@ type IValidationRuleProps = React.PropsWithChildren<{ max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; diff --git a/packages/devextreme-react/src/form.ts b/packages/devextreme-react/src/form.ts index be8396f2ebe8..2630c3e67fce 100644 --- a/packages/devextreme-react/src/form.ts +++ b/packages/devextreme-react/src/form.ts @@ -114,7 +114,7 @@ type IAsyncRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any); }> const _componentAsyncRule = (props: IAsyncRuleProps) => { return React.createElement(NestedOption, { @@ -270,7 +270,7 @@ type ICustomRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); }> const _componentCustomRule = (props: ICustomRuleProps) => { return React.createElement(NestedOption, { @@ -977,7 +977,7 @@ type IValidationRuleProps = React.PropsWithChildren<{ max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; diff --git a/packages/devextreme-react/src/scheduler.ts b/packages/devextreme-react/src/scheduler.ts index 4dd95fc178dd..79710070a0d1 100644 --- a/packages/devextreme-react/src/scheduler.ts +++ b/packages/devextreme-react/src/scheduler.ts @@ -215,7 +215,7 @@ type IAsyncRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any); }> const _componentAsyncRule = (props: IAsyncRuleProps) => { return React.createElement(NestedOption, { @@ -371,7 +371,7 @@ type ICustomRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); }> const _componentCustomRule = (props: ICustomRuleProps) => { return React.createElement(NestedOption, { @@ -1416,7 +1416,7 @@ type IValidationRuleProps = React.PropsWithChildren<{ max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; diff --git a/packages/devextreme-react/src/tree-list.ts b/packages/devextreme-react/src/tree-list.ts index 42c8d3772b6f..d5e46bfc933e 100644 --- a/packages/devextreme-react/src/tree-list.ts +++ b/packages/devextreme-react/src/tree-list.ts @@ -258,7 +258,7 @@ type IAsyncRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any); }> const _componentAsyncRule = (props: IAsyncRuleProps) => { return React.createElement(NestedOption, { @@ -892,7 +892,7 @@ type ICustomRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); }> const _componentCustomRule = (props: ICustomRuleProps) => { return React.createElement(NestedOption, { @@ -2899,7 +2899,7 @@ type IValidationRuleProps = React.PropsWithChildren<{ max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; diff --git a/packages/devextreme-react/src/validator.ts b/packages/devextreme-react/src/validator.ts index 9f618f16cd71..62d5991273d1 100644 --- a/packages/devextreme-react/src/validator.ts +++ b/packages/devextreme-react/src/validator.ts @@ -105,7 +105,7 @@ type IAsyncRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any); }> const _componentAsyncRule = (props: IAsyncRuleProps) => { return React.createElement(NestedOption, { @@ -157,7 +157,7 @@ type ICustomRuleProps = React.PropsWithChildren<{ message?: string; reevaluate?: boolean; type?: ValidationRuleType; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); }> const _componentCustomRule = (props: ICustomRuleProps) => { return React.createElement(NestedOption, { @@ -337,7 +337,7 @@ type IValidationRuleProps = React.PropsWithChildren<{ max?: Date | number | string; min?: Date | number | string; reevaluate?: boolean; - validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean); + validationCallback?: ((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean); comparisonTarget?: (() => any); comparisonType?: ComparisonOperator; pattern?: RegExp | string; diff --git a/packages/devextreme-vue/src/card-view.ts b/packages/devextreme-vue/src/card-view.ts index e5ce4ce63aad..83373a58575b 100644 --- a/packages/devextreme-vue/src/card-view.ts +++ b/packages/devextreme-vue/src/card-view.ts @@ -548,7 +548,7 @@ const DxAsyncRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)> } }; @@ -1301,7 +1301,7 @@ const DxCustomRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; @@ -3259,7 +3259,7 @@ const DxValidationRuleConfig = { reevaluate: Boolean, trim: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; diff --git a/packages/devextreme-vue/src/data-grid.ts b/packages/devextreme-vue/src/data-grid.ts index 544afb7ae229..45465a450f76 100644 --- a/packages/devextreme-vue/src/data-grid.ts +++ b/packages/devextreme-vue/src/data-grid.ts @@ -756,7 +756,7 @@ const DxAsyncRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)> } }; @@ -1435,7 +1435,7 @@ const DxCustomRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; @@ -4043,7 +4043,7 @@ const DxValidationRuleConfig = { reevaluate: Boolean, trim: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; diff --git a/packages/devextreme-vue/src/form.ts b/packages/devextreme-vue/src/form.ts index 490d20de2144..ae0b8dd12c24 100644 --- a/packages/devextreme-vue/src/form.ts +++ b/packages/devextreme-vue/src/form.ts @@ -274,7 +274,7 @@ const DxAsyncRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)> } }; @@ -458,7 +458,7 @@ const DxCustomRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; @@ -1153,7 +1153,7 @@ const DxValidationRuleConfig = { reevaluate: Boolean, trim: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; diff --git a/packages/devextreme-vue/src/scheduler.ts b/packages/devextreme-vue/src/scheduler.ts index 169bd798a952..9118bd8c3e81 100644 --- a/packages/devextreme-vue/src/scheduler.ts +++ b/packages/devextreme-vue/src/scheduler.ts @@ -471,7 +471,7 @@ const DxAsyncRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)> } }; @@ -655,7 +655,7 @@ const DxCustomRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; @@ -1739,7 +1739,7 @@ const DxValidationRuleConfig = { reevaluate: Boolean, trim: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; diff --git a/packages/devextreme-vue/src/tree-list.ts b/packages/devextreme-vue/src/tree-list.ts index b00325909386..1f7456478143 100644 --- a/packages/devextreme-vue/src/tree-list.ts +++ b/packages/devextreme-vue/src/tree-list.ts @@ -744,7 +744,7 @@ const DxAsyncRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)> } }; @@ -1409,7 +1409,7 @@ const DxCustomRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; @@ -3655,7 +3655,7 @@ const DxValidationRuleConfig = { reevaluate: Boolean, trim: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; diff --git a/packages/devextreme-vue/src/validator.ts b/packages/devextreme-vue/src/validator.ts index 612f10eeb77d..035a24eddc37 100644 --- a/packages/devextreme-vue/src/validator.ts +++ b/packages/devextreme-vue/src/validator.ts @@ -133,7 +133,7 @@ const DxAsyncRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => any)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => any)> } }; @@ -191,7 +191,7 @@ const DxCustomRuleConfig = { message: String, reevaluate: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; @@ -396,7 +396,7 @@ const DxValidationRuleConfig = { reevaluate: Boolean, trim: Boolean, type: String as PropType, - validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: string | number }) => boolean)> + validationCallback: Function as PropType<((options: { column: Record, data: Record, formItem: Record, rule: Record, validator: Record, value: any }) => boolean)> } }; From 0d68cffb11f6d8079d5ff5b86b1fdd37357a5c45 Mon Sep 17 00:00:00 2001 From: Ruslan Farkhutdinov Date: Thu, 8 Jan 2026 18:58:07 +0200 Subject: [PATCH 3/3] Validator: Remove generic type --- packages/devextreme/js/common.d.ts | 16 ++++++++-------- packages/devextreme/ts/dx.all.d.ts | 14 ++++++-------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/packages/devextreme/js/common.d.ts b/packages/devextreme/js/common.d.ts index e2a681bfd08f..2ac75ae9b8a8 100644 --- a/packages/devextreme/js/common.d.ts +++ b/packages/devextreme/js/common.d.ts @@ -29,7 +29,7 @@ export type ApplyValueMode = 'instantly' | 'useButtons'; * @namespace DevExpress.common * @type object */ -export type AsyncRule = { +export type AsyncRule = { /** * @docid * @default false @@ -58,7 +58,7 @@ export type AsyncRule = { * @docid * @type_function_return Promise * @type_function_param1 options:object - * @type_function_param1_field value:unknown + * @type_function_param1_field value:any * @type_function_param1_field rule:object * @type_function_param1_field validator:object * @type_function_param1_field data:object @@ -66,7 +66,7 @@ export type AsyncRule = { * @type_function_param1_field formItem:object * @public */ - validationCallback?: ((options: ValidationCallbackData) => PromiseLike); + validationCallback?: ((options: ValidationCallbackData) => PromiseLike); }; /** @@ -132,7 +132,7 @@ export type ComparisonOperator = '!=' | '!==' | '<' | '<=' | '==' | '===' | '>' * @type object * @namespace DevExpress.common */ -export type CustomRule = { +export type CustomRule = { /** * @docid * @default false @@ -160,7 +160,7 @@ export type CustomRule = { /** * @docid * @type_function_param1 options:object - * @type_function_param1_field value:unknown + * @type_function_param1_field value:any * @type_function_param1_field rule:object * @type_function_param1_field validator:object * @type_function_param1_field data:object @@ -168,7 +168,7 @@ export type CustomRule = { * @type_function_param1_field formItem:object * @public */ - validationCallback?: ((options: ValidationCallbackData) => boolean); + validationCallback?: ((options: ValidationCallbackData) => boolean); }; /** @@ -815,8 +815,8 @@ export type TooltipShowMode = 'always' | 'onHover'; * @public * @namespace DevExpress.common */ -export type ValidationCallbackData = { - value?: TValue; +export type ValidationCallbackData = { + value?: any; rule: any; validator: any; data?: any; diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index f27e3c27c49d..4a7bc64f3a1c 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -1168,7 +1168,7 @@ declare module DevExpress.common { /** * [descr:AsyncRule] */ - export type AsyncRule = { + export type AsyncRule = { /** * [descr:AsyncRule.ignoreEmptyValue] */ @@ -1188,9 +1188,7 @@ declare module DevExpress.common { /** * [descr:AsyncRule.validationCallback] */ - validationCallback?: ( - options: ValidationCallbackData - ) => PromiseLike; + validationCallback?: (options: ValidationCallbackData) => PromiseLike; }; export type ButtonStyle = 'text' | 'outlined' | 'contained'; export type ButtonType = 'danger' | 'default' | 'normal' | 'success'; @@ -1231,7 +1229,7 @@ declare module DevExpress.common { /** * [descr:CustomRule] */ - export type CustomRule = { + export type CustomRule = { /** * [descr:CustomRule.ignoreEmptyValue] */ @@ -1251,7 +1249,7 @@ declare module DevExpress.common { /** * [descr:CustomRule.validationCallback] */ - validationCallback?: (options: ValidationCallbackData) => boolean; + validationCallback?: (options: ValidationCallbackData) => boolean; }; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. @@ -1726,8 +1724,8 @@ declare module DevExpress.common { | 'dxTextBox'; export type ToolbarItemLocation = 'after' | 'before' | 'center'; export type TooltipShowMode = 'always' | 'onHover'; - export type ValidationCallbackData = { - value?: TValue; + export type ValidationCallbackData = { + value?: any; rule: any; validator: any; data?: any;